下面这个例子是通过具有公网IP的网关上的反向代理,将域名demo.wenotng.me
的请求转发到内网机器192.168.1.100
上,这样就可以在公网上通过域名demo.wentong.me
访问内网的机器了.
1) 第一步,添加一条A记录(Adress), demo.wentong.me 指向网关的公网IP.
2) 添加Nginx配置:
网关服务器nginx配置:
# /etc/nginx/sites-enable/demo |
上面这些配置无非是将一些发给网关的请求的Request Headers
中信息,
转发给192.168.1.100
这台机器,实现反向代理. 注意,
这里要对Host
字段进行转发,以便下级服务器据此域名判断应用哪个配置.
内网机器作常规设置即可
# /etc/nginx/sites-enable/demo |
根据反向代理服务器发来的Host
字段来判断应用这个配置
3) 重启两台机器的Nginx服务, 即可完成设置.
设置完成后,尝试在内网访问 http://demo.wentong.me , 能够打开内网机器中的页面.
遗憾的是,学校网络中心似乎对访问此类IP作了限制,只允许特定IP段的用户访问(类似于教务处服务器仅限于校内IP访问)。当我尝试使用校外IP访问 http://demo.wentong.me 时,失败了, 甚至一些校内IP也无法访问. :-(