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 相关文章推荐
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
Jun 21 Servers
nginx常用命令放入shell脚本详解
Mar 31 Servers
Nginx配置并兼容HTTP实现代码解析
Mar 31 Servers
Nginx配置SSL证书出错解决方案
Mar 31 Servers
nginx 多个location转发任意请求或访问静态资源文件的实现
Mar 31 Servers
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
解析在浏览器地址栏输入一个URL后发生了什么
Jun 21 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 Servers
Windows Server 2019 安装DHCP服务及相关配置
Apr 28 Servers
Nginx安装配置详解
Jun 25 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
php中使用GD库做验证码
2016/03/31 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
Python与Java间Socket通信实例代码
2017/03/06 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
keras 权重保存和权重载入方式
2020/05/21 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
合同专员岗位职责
2013/12/18 职场文书
单位在职证明范本
2014/01/09 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
学校花圃的标语
2014/06/18 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
2014年科普工作总结
2014/12/06 职场文书
高三英语复习计划
2015/01/19 职场文书
小学语文国培研修日志
2015/11/13 职场文书
python实现批量移动文件
2021/04/05 Python
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技