如何用nginx在本地把9000端口转发到80端口上?
根据我在BAT的工作经验来说,nginx已经在java web开发中越来越重要了。我们在工作中,最常使用的就是nginx的负载均衡与反向代理功能。
之前的回答里曾经详细介绍过nginx的反向代理与负载均衡,接下来,就以题主的问题为例,把之前的理论落地到实践,分析下如何配置
nginx.conf
文件。
配置端口号首先,nginx需要绑定一个端口,如下图红框,nginx的端口号就是8001,当你访问http://10.100.100.100:8001的时候,请求就会指向nginx(假设这个nginx所在机器的ip是10.100.100.100)。下面的server_name参数,是同时将nginx绑定了一个域名,当你输入这个域名的时候,也会将请求转向nginx。
在题主这种情况,就可以将8001替换成9000。
配置upstream接下来,我们可以设置后端服务器组的主要指令upstream,我们首先给红框中的upstream起名为aaa_back,这个upstream指向了一个server,当nginx将请求转发到这个upstream的时候,其实是将请求转发给这个ip:port/加后面的path。如图所示,题主所说的情况,要将请求转发给本机,那么server的值就是127.0.0.1:80。
配置location上一个步骤配置的upstream其实是可以作为变量,用在location中的。
从下面的配置就可以看出来,当你的请求url是http://{nginx所在机器的ip}:{nginx绑定的port}/api/pts,其实是会被转发到 {upstream里参数名为xx_java_bak的server的ip:port}/
api.php/pts/
这个地址的。
至此,配置好port,upsteam和location,就能把9000端口的请求,转向80了。
以上是我的浅见,欢迎各位在下方评论区交流点赞。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有