Nginx配置二级目录反向代理本机不同端口
2016-10-25 23:07
876 查看
前序
最近在家里的服务器上装了一大堆的服务器软件,大多数都需要Web网站访问的,比如:Gitlab、Apache、Jenkins等等。然而又因为是不同的应用,需要占用不同的端口,每次访问起来都需要在IP地址后面再加上端口号,应用太多了就老是记不住端口了。。这才突然发现遗漏Nginx这个神器。简介
Nginx 主要的作用就是反向代理和负载均衡了,一般在互联网公司内,作为负载均衡比较多。但是别忘了,它的一个主要用途还有反向代理。在这里,我们就通过反向代理来使得隐藏端口,二级目录的形式访问这些服务器应用吧。安装Nginx
如果想要安装最新版本,建议从官网下载源码,然后编译安装。不过我这里偷懒直接使用仓库源安装的,这样一个比较快,二个安装目录和systemd脚本都弄得好好的,堪称开箱即用啊。Ubuntu/Debian
$ sudo apt-get update $ sudo apt-get install 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选项中,将启用安全钩去掉就好了。
如果有懂这个反向代理怎么登录的,还望不惜赐教。
相关文章推荐
- Nginx配置二级目录/路径 映射不同的反向代理和规避IP+端口访问
- Nginx反向代理匹配部分二级域名或二级目录配置
- 相同Ip 不同端口配置Nginx反向代理Apache
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件
- nginx设置反向代理,设置二级目录,设置匹配指定文件,设置SSL访问
- Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口
- Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问
- Tomcat捕获Nginx反向代理协议IP及端口配置
- nodejs使用nginx端口转发,端口映射,反向代理,子域名映射到不同端口
- nginx 配置ip端口访问不同目录
- nginx配置ssl协议https +tomcat 非80/443端口反向代理的配置方式
- Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问
- nginx配置反向代理
- Nginx不同域名反向代理到另一台服务器 proxy_pass和$host
- Nginx反向代理设置 从80端口转向其他端口
- Tomcat系列之服务器的基本配置及Nginx反向代理tomcat服务
- Nginx 反向代理简单配置
- 反向代理概念以及apache,nginx配置反向代理实现负载均衡方法
- Nginx反向代理的目录访问问题