nginx反向代理

  • Post author:
  • Post category:其他


说到反向代理,先说说正向代理是什么,正向代理就是,假如现在有三台电脑,上不了网,但是有一台代理服务器可以上网,这时候这三台电脑就可以跟这个代理服务器进行配置,需要一个软件,配置好之后就可以上网了,pc1比如要访问百度,它会先把这个请求发送给代理服务器,然后代理服务器去访问百度,百度把回馈信息发送给代理服务器,然后再交给pc1

反向代理是,假设我公司开发了三个软件,但是只买了一个公网ip,三个软件部署在三个tomcat上,之前说到一个域名只对应一个ip,一个ip可以对应多个域名,所以这三个软件都绑定的这一个ip,现在用户要通过公网ip来访问我这三个软件其中的一个,这时候,nginx起到反向代理的作用,它根据域名的不同,来把请求转发到对应的应用服务器tomcat上,tomcat把返回结果给nginx然后再回馈给用户.

实现过程,一些之前用到的细节我就不再多说了看我之前的博客

https://blog.csdn.net/kxj19980524/article/details/85028626

现在要实现这个功能,两个tomcat不同的端口号,通过同一个nginx来实现反向代理

先上传tomcat  下载地址

https://download.csdn.net/download/kxj19980524/10853555

上传完后解压,然后复制两份分别改端口号

修改一个的端口就可以了,修改下面这三个地方

然后为了让显示明显一点修改它的index页面

改完之后分别启动测试一下

查看tomcat启动日志



这个测试成功后,现在需要通过nginx,通过域名的不同来进行访问,配置nginx配置文件,配置文件的意思就是当请求来的时候,先访问nginx的www.sohu.com,找到这个后它会找它对应的location,location里面配置的是sohu,它会找对应的upstream sohu然后找里面对应的路径,进行访问.修改完后保存重新加载nginx,进行测试.

如果nginx要转发到网关的时候,会丢失头信息,导致网关会匹配不到,加上如下配置即可



版权声明:本文为kxj19980524原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。