利用 nginx 实现动态的反向代理
周五时发现内网应用服务器的端口被屏蔽无法访问,导致临时写的日志管理插件无法使用,所以只能通过另外的 nginx 服务器的 80 端口作为入口了
简单来说就是将 IP 和端口放在 URI 中,然后在 nginx 中转发到内网的服务器。
配置如下:
location ~ /forward[0-9]+ {
if ( $uri ~ ([0-9.]+)/ ) {
set $port $1;
}
if ( $uri ~ .*/([a-zA-Z.]+) ) {
set $context $1;
}
if ( $uri ~ ([0-9.]+) ) {
set $ip $1;
}
proxy_pass http://$ip:$port/$context?$args;;
}
配置之后访问 http://127.0.0.1/log127.0.0.1:8012/fileManager.do 会被转发到 http://127.0.0.1/fileManager.do
其中第一个 127.0.0.1 是 nginx 服务器的地址,第二个 127.0.0.1 和 8012 则是要在 nginx 服务器中转发的目标地址。
这样就能利用 nginx 作为跳板访问到被屏蔽的服务器了。
后记:
当初写这篇草稿来测试 solo 时,硬盘还没坏...
所以,还是坚持做一点点和"懒"无关的事情吧~
很认同"懒是程序员的 天性 | 美德" ,但如果以懒为借口来推脱就不好了吧.此懒非彼懒.
嗯,要把握好尺度与准度.
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于