LNMP端口转发实现并使其转向至Docker中的业务
Nginx下的端口转发实现
1.端口转发是什么
简单的理解就是由一个端口转向至另一个端口
2.为什么需要端口转发
当前需求是:LNMP安装在实体机VPS上,VPS上还装了Docker,Docker里面的业务需要外网访问,所以想到的解决方案就是通过Nginx转发。
3.如何实现端口转发
LNMP环境下,先添加主机
lnmp vhost add
按流程添加好后在/usr/local/nginx/conf/vhost目录下会生成对应的网站conf文件,vi或者使用你熟悉的编辑器编辑此conf文件。
类似如下格式:
server {
listen 80;
server_name 199188.xyz;
access_log logs/199188.xyz.log;
error_log logs/199188.xyz.error.log;#将所有请求转发给demo_pool池的应用处理
location / {proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://19188.xyz:12345;
}
}
其中80为需要监听的端口,把网站地址改为你自己的网站地址。proxy_pass http://19188.xyz:12345;这行里面的地址改为你需要转发的地址,可以带端口。
然后
service nginx restart
完成了。
4.转发至docker中的业务只需将上述proxy_pass后面的地址改为docker的地址和端口就好
查看Docker下容器的IP
docker ps
运行后可以看到对应的IP和端口。按上述第三步修改即可