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实现上游服务器动态自动上下线无需reload的实现方法
Mar 31 Servers
nginx配置proxy_pass中url末尾带/与不带/的区别详解
Mar 31 Servers
nginx里的rewrite跳转的实现
Mar 31 Servers
Nginx配置80端口访问8080及项目名地址方法解析
Mar 31 Servers
nginx的zabbix 5.0安装部署的方法步骤
Jul 16 Servers
Nginx 安装SSL证书完成HTTPS部署
Apr 28 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
nginx 添加http_stub_status_module模块
May 25 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
Jun 25 Servers
Nginx如何限制IP访问只允许特定域名访问
Jul 23 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 #Servers
nginx配置之并发频次限制
如何通过cmd 连接阿里云服务器
Linux中如何安装并部署Redis
Apr 18 #Servers
nginx搭建NFS网络文件系统
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
You might like
第十三节--对象串行化
2006/11/16 PHP
php 小乘法表实现代码
2009/07/16 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
python冒泡排序算法的实现代码
2013/11/21 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
python简单操作excle的方法
2018/09/12 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
python读取各种文件数据方法解析
2018/12/29 Python
在python3中实现更新界面
2020/02/21 Python
python爬虫请求头设置代码
2020/07/28 Python
如何用python 操作zookeeper
2020/12/28 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
面试必备的求职信
2014/05/25 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang
Python Pygame实战之塔防游戏的实现
2022/03/17 Python