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 反向代理之 proxy_pass的实现
Mar 31 Servers
Nginx服务器如何设置url链接
Mar 31 Servers
Nginx虚拟主机的搭建的实现步骤
Jan 18 Servers
使用 Apache Dubbo 实现远程通信(微服务架构)
Feb 12 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
nginx共享内存的机制详解
Mar 21 Servers
Apache Hudi集成Spark SQL操作hide表
Mar 31 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
解决IIS7下无法绑定https主机的问题
Apr 29 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 #Servers
nginx配置之并发频次限制
如何通过cmd 连接阿里云服务器
Linux中如何安装并部署Redis
Apr 18 #Servers
nginx搭建NFS网络文件系统
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
You might like
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
提示$ is not defined错误分析及解决
2013/04/09 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
vue 扩展现有组件的操作
2020/08/14 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Python实现的双色球生成功能示例
2017/12/18 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python生成器推导式用法简单示例
2019/10/08 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
类如何去实现接口
2013/12/19 面试题
安全资料员岗位职责
2013/12/14 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
欢迎标语大全
2014/06/21 职场文书
作风年建设汇报材料
2014/08/14 职场文书
交通事故和解协议书
2014/09/25 职场文书
七年级地理教学计划
2015/01/22 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
MySQL GRANT用户授权的实现
2021/06/18 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python