#Nginx配置二级目录反向代理本机不同端口 前序 最近在家里的服务器上装了一大堆的服务器软件,大多数都需要Web网站访问的,比如:Gitlab、Apache、Jenkins等等。然而又因为是不同的应用,需要占用不同的端口,每次访问起来都需要在IP地址后面再加上端口号,应用太多了就老是记不住端口了。。这才突然发现遗漏Nginx这个神器。 简介 Nginx 主要的作用就是反向代理和负载均衡了,一般在互联网公司内,作为负载均衡比较多。但是别忘了,它的一个主要用途还有反向代理。在这里,我们就通过反向代理来使得隐藏端口,二级目录的形式访问这些服务器应用吧 反向代理配置 直接编辑nginx配置文件即可,文件所在位置/etc/nginx/config.d/default.conf $ sudo vim /etc/nginx/config.d/default.conf upstream gitlab { # 这里我们需要先手动修改Gitlab的默认访问端口,默认为80 server 192.168.1.2:8098; } upstream apache { server 192.168.1.2:8090; } upstream rabbit { server 192.168.1.2:15672; } server { listen 80; server_name localhost; charset utf-8; # http://192.168.1.2/file 即可访问apache文件服务器 location /file { proxy_pass http://apache/; } location /rabbit { proxy_pass http://rabbit/; port_in_redirect on; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /jenkins { proxy_pass http://192.168.1.2:8088/jenkins/; # Fix the "It appears that your reverse proxy set up is broken" error. # 修复点击系统管理,出现的反向代理设置有误提示 port_in_redirect on; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 直接IP访问就是Gitlab location / { proxy_pass http://gitlab/; } } 总结 Nginx是一个非常强大的工具,这里只是使用到了其实很小的一部分功能。当然也有其他的途径可以做到,但是很少有Nginx这样简单方便的。 配置的过程中,需要注意的是Jenkins的配置,只配置一个proxy_pass的话,它会提示代理配置有误,所以需要多加一些配置。还有就是通过反向代理配置的Jenkins好像不能登录,会出现跳转到j_acegi_security_check报404错误,因为是自己家里用,所以我就直接去掉登录功能了,在Configure Global Security选项中,将启用安全钩去掉就好了。 如果有懂这个反向代理怎么登录的,还望不惜赐教 --------------------- 作者:风格lu 来源:CSDN 原文:https://blog.csdn.net/lusyoe/article/details/52928649 版权声明:本文为博主原创文章,转载请附上博文链接! ----------------------------------------------------------------------- ----------------------------------------------------------------------- #num2 Nginx 如何配置反向代理隐藏 url 端口 server{ listen 8011; server_name www.up.com; location / { proxy_pass http://127.0.0.1:1031; } } 如果 listen 的是 8011 端口,反向代理转发到 1031 端口,那么 www.up.com:8011 和 www.up.com:1031 都可以正常访问。 如果这里 listen 的是 80 端口,那么只能 www.up.com:1031 可以正常访问