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常用命令放入shell脚本详解
Mar 31 Servers
使用nginx动态转换图片大小生成缩略图
Mar 31 Servers
Nginx 502 Bad Gateway错误原因及解决方案
Mar 31 Servers
Nginx配置https原理及实现过程详解
Mar 31 Servers
Nginx安装完成没有生成sbin目录的解决方法
Mar 31 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
Nginx实现负载均衡的项目实践
Mar 18 Servers
centos7安装mysql5.7经验记录
May 02 Servers
Nginx 配置 HTTPS的详细过程
May 30 Servers
利用Apache Common将java对象池化的问题
Jun 16 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
win sever 2022如何占用操作主机角色
Jun 25 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 #Servers
nginx配置之并发频次限制
如何通过cmd 连接阿里云服务器
Linux中如何安装并部署Redis
Apr 18 #Servers
nginx搭建NFS网络文件系统
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
You might like
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
php实现的验证码文件类实例
2015/06/18 PHP
微信红包随机生成算法php版
2016/07/21 PHP
php文件包含的几种方式总结
2019/09/19 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
Python 监测文件是否更新的方法
2019/06/10 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
中学生学习生活的自我评价
2013/10/26 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
2014年党建工作总结
2014/11/11 职场文书
工作检讨书大全
2015/01/26 职场文书
关于学习的决心书
2015/02/05 职场文书
初中家长意见
2015/06/03 职场文书
迎新生晚会主持词
2015/06/30 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
python读取mat文件生成h5文件的实现
2022/07/15 Python