upstream实现内网网站在公网访问
背景描述:公司内网有个网站aa.com,B部门需要访问这个aa.com,但是网站部署在内网服务器(服务器是192.168.1网段),B部门网段是192.168.100
需求描述:B部门需要访问aa.com,但是网段不一样无法实现内网访问,先需要将这个网站映射出去
方案:upstream+路由器端口映射
一、在公网服务器上配置一个nginx,配置文件名为188.conf,内容如下;B部门在访问188.ay188.com时会跳转到212.107.127.69和213.128.16.235的8888端口,aa.com所在服务器的8888与这2个路由器IP做了NAT
upstream 188 {
server 212.107.127.69:8888 max_fails=1 fail_timeout=11;
server 213.128.16.235:8888 max_fails=1 fail_timeout=11;
}
server {
listen 80;
server_name 188.ay188.com;
allow 212.107.127.0/24;
allow 213.128.16.0/24;
deny all;
location / {
proxy_next_upstream off;
proxy_connect_timeout 50s;
proxy_send_timeout 50s;
proxy_read_timeout 50s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://188;
}
}
二、在内网将aa.com网站搭建好,并在路由器上配置NAT,aa.com所在服务器的8888和上面的2个路由器IP的8888做映射也就是NAT
三、188.conf所在的公网机器要做dns解析,188.ay188.com这个域名解析到这台公网服务器的IP,由此实现公网域名访问内网域名,无需绑定hosts直接域名访问