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简单配置多个server的方法
Mar 31 Servers
阿里云Nginx配置https实现域名访问项目(图文教程)
Mar 31 Servers
Nginx使用Lua模块实现WAF的原理解析
Sep 04 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
使用Docker容器部署rocketmq单机的全过程
Apr 03 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
CentOS7安装MySQL8的超级详细教程(无坑!)
Jun 10 Servers
Windows10安装Apache2.4的方法步骤
Jun 25 Servers
nginx代理实现静态资源访问的示例代码
Jul 07 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 Servers
Flink 侧流输出源码示例解析
Sep 23 Servers
ubuntu20.04虚拟机无法上网的问题及解决
Dec 24 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 #Servers
nginx配置之并发频次限制
如何通过cmd 连接阿里云服务器
Linux中如何安装并部署Redis
Apr 18 #Servers
nginx搭建NFS网络文件系统
Mac电脑OS系统下安装Nginx的详细教程
Docker 镜像介绍以及commit相关操作
You might like
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
python图像常规操作
2017/11/11 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python实现小球弹跳效果
2019/05/10 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
通过Python实现一个简单的html页面
2020/05/16 Python
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
副总经理工作职责
2013/11/28 职场文书
毕业生个人求职信范例分享
2013/12/17 职场文书
大四本科生的自我评价
2013/12/30 职场文书
心得体会范文
2014/01/04 职场文书
承办会议欢迎词
2014/01/17 职场文书
机关门卫制度
2014/02/01 职场文书
产品设计开发计划书
2014/05/07 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
大学生入党自传2015
2015/06/26 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
MySQL COUNT函数的使用与优化
2021/05/10 MySQL
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
TS 类型收窄教程示例详解
2022/09/23 Javascript