nginx容器方式反向代理实战


Posted in Servers onApril 18, 2022

一、简述

1.1 什么是反向代理?

这很重要,反向代理就是代理服务器代理真实服务器。客户端以为代理服务器就是真实服务器,所以就会把要请求的==资源(URL)==发给代理服务器。

代理服务器一般是由nginx来充当,代理功能由配置文件来完成。

nginx容器方式反向代理实战

1.2 看图理解

画的仓促,大概有这个意思

nginx容器方式反向代理实战

1.3 错误总结

错误记录:

nginx和tomcat全容器化

用nginx代理两台tomcat服务器,

当访问资源带edu的时候交给tomcat1

当访问资源带vod的时候交给tomcat2

做反向代理测试的时候,写的是完整的URL,不是部分路径。因为代理服务器在客户端看来就是真实服务器!!!

这次对反向代理的理解更深刻了,坚持下来没有错。

同时,请教别人也是必须的,多交流多思考才能更好的解决问题~

以下是错误演示

nginx容器方式反向代理实战

二、正确案例

2.1 启动nginx

docker run --name nginx -p 80:80 --link=tomcat:tomcat1 --link=tomcat02:tomca -v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker-nginx/log:/var/log/nginx -v /opt/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d 313ec0a602bc

2.2 启动tomcat

先启动一个

docker run -it -p 8080:8080 tomcat

docker cp复制文件

docker cp 容器id:/usr/local/tomcat/webapps.dist/* /opt/webapps

再启动挂载卷

docker run -it -p 8081:8080 --name tomcat01 -v /opt/webapps:/usr/local/tomcat/webapps tomcat
docker run -it -p 8082:8080 --name tomcat02 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

建文件,建资源

[root@VM-16-8-centos vod]# ll
total 4
-rw-r–r-- 1 root root 11 Apr 14 21:42 a.html
[root@VM-16-8-centos vod]# pwd
/opt/tomcat/webapps/vod

[root@VM-16-8-centos edu]# ll
total 4
-rw-r–r-- 1 root root 8 Apr 14 21:26 a.html
[root@VM-16-8-centos edu]# pwd
/opt/tomcat/webapps/edu

nginx容器方式反向代理实战

2.3 配置nginx

[root@VM-16-8-centos docker-nginx]# vim nginx.conf 

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
      listen 80;
      server_name xxx.xxx.xxx.xxx;

      location ~ /edu/ {
         proxy_pass http://xxx.xxx.xxx.xxx:8081;
      }

      location ~ /vod/ {
         proxy_pass http://xxx.xxx.xxx.xxx:8082;
      }
    }
}

2.4 重启所有服务

docker restart …

2.5 测试

nginx容器方式反向代理实战

nginx容器方式反向代理实战

三、云服务器上跑的nginx怎么代理本地项目

不可以!

要么都在云端,只有代理服务器IP和真实服务器IP能互通的情况下才能代理!!!

总结

到此这篇关于nginx反向代理踩坑实战的文章就介绍到这了!

Servers 相关文章推荐
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
详解Nginx 被动检查服务器的存活状态
Oct 16 Servers
配置nginx负载均衡
May 06 Servers
服务器间如何实现文件共享
May 20 Servers
详解Nginx的超时keeplive_timeout配置步骤
May 25 Servers
教你如何用cmd快速登录服务器
Jun 10 Servers
windows server2008 开启端口的实现方法
Jun 25 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
设置IIS Express并发数
Jul 07 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
Windows Server 2012 R2服务器安装与配置的完整步骤
Jul 15 Servers
windows10 家庭版下FTP服务器搭建教程
Aug 05 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 #Servers
nginx配置之并发频次限制
如何通过cmd 连接阿里云服务器
Linux中如何安装并部署Redis
Apr 18 #Servers
nginx搭建NFS网络文件系统
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
You might like
php中的一个中文字符串截取函数
2007/02/14 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
JS类的封装及实现代码
2009/12/02 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
Python图像灰度变换及图像数组操作
2016/01/27 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
老生常谈python中的重载
2018/11/11 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
django rest framework使用django-filter用法
2020/07/15 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
中学生获奖感言
2014/02/04 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
老公保证书范文
2014/04/29 职场文书
关爱留守儿童标语
2014/06/18 职场文书
父亲节活动策划方案
2014/08/24 职场文书
大连星海广场导游词
2015/02/10 职场文书
团员自我评价范文
2015/03/10 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL