客户内网环境,使用ppoe拨号上网,提供商为集团内部二级运营商,网络环境比较复杂,在集团内部网络和办公网络采用静态路由协议互联,大致情况如下所示:
使用nginx正向代理实现内网域名转发_第1张图片

原来客户访问生产业务,都是通过ip地址访问,随着生产业务越来越多,现在客户强烈要求使用域名方式访问业务。但是鉴于内网环境复杂,不好部署域名服务器,部署了访问业务也比较困难。
后来学习nginx,知道nginx可以实现正向代理实现域名转发。整体思路如下:
使用nginx正向代理实现内网域名转发_第2张图片
说明:
1、在阿里云上配置域名解析。例如OA.XXXX.COM,解析地址为内网地址172.31.101.36
2、172.31.101.36是vip地址,是由两台nginx配置keepalived提供
3、访问大致流程是客户访问域名,域名解析到VIP内网地址,由内网nginx服务转发域名请求到指定内网服务器上

为了完成整套流程,必须保证nginx服务器能够访问外网,而且能够与内网指定生产服务器网络连通,同时客户PPO拨号后能正常解析域名。

关于nginx和 keepalived的配置,可以参考之前写的博客
https://blog.51cto.com/11555417/2336592

需要说明的是nginx代理转发的配置。我采用的是子配置方式。
使用nginx正向代理实现内网域名转发_第3张图片

在/application/nginx/conf/conf.d目录下新建配置文件

vim oa.xxxxx.com.conf

按照如下进行编写
使用nginx正向代理实现内网域名转发_第4张图片
详细语法和功能模块请参考官方手册
配置完成后,检查nginx语法,重启nginx进程

/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx -s reload

配置完成后,检查域名是否生效

问题:
1、如何配置https代理转发?
2、如何配置限制IP地址段访问,只允许指定IP地址段访问?