这篇文章原文发布在”运维日志”博客于 2020年03月10日
一、实现思路
由于校园网内服务器的实际流量不大(最大几十兆),利用一台Nginx反向代理服务器完全可以代理校内的所有Web服务器,只需要给反向代理服务器配置IPv6地址即可实现其余Web服务器的IPv6发布。
下图是实际的结构。
二、 实现过程
2.1、服务器IP地址
Nginx反向代理服务器的IPv4地址:210.26.16.30 IPv6地址为:2001:da8:c004:1018::30 域名为:nginx.lzit.edu.cn
内网Web服务器1的地址:210.26.16.123 域名:nic.lzit.edu.cn
内网Web服务器2的地址:210.26.16.124 域名:lib.lzit.edu.cn
内网Web服务器3的地址:……
内网Web服务器N的地址:……
2.2、配置DNS
添加AAAA记录和A记录,下图是PowerDNS(支持IPv6、DNSSEC)的配置:
将内网Web服务器的域名指向Nginx反向代理,如下图:
2.3、配置Nginx反向代理
Nginx的安装和配置在之前的博客都已经记录了:
- Nginx安装:https://blog.51cto.com/lovemjd/2564280 或者校内运维日志
- Nginx与LDAP结合:https://blog.51cto.com/lovemjd/2564286 或者校内运维日志
- Nginx根据源地址选择LDAP认证: https://blog.51cto.com/lovemjd/2564288 或者校内运维日志
网站nic.lzit.edu.cn的反向代理配置如下图所示:
代理其他内部Web服务器的配置跟上图一样,复制修改即可。
2.4、防火墙配置,开放Nginx服务器的IPv6和IPv4地址的Web端口,关闭其他服务器的Web端口。
三、 分析
这样就很方便的实现了网站的IPv6发布,当然,前提是学校网络(服务器区)要支持并配置好双栈网络,并与IPv6互联网连通。
可以到http://www.nic.edu.cn查询网站的whios记录和IPv6地址。
使用反向代理后只需要在反代的前边放置WAF即可。
服务器区防火墙只需放行反代的Web端口即可,其他Web服务器不用再对外发布。
自己配置Nginx需要一定的命令行操作,容易出现打字错误,当内网服务很多时,不容易调试错误。
网站的日志分析存储在log文本文件中,不易分析。
四、使用厂商定制过的Nginx实现
这部分是替换上边 2.3节 的手工配置。
反代的网站列表如下图:
配置界面如下图:
统计信息,比自建的NG直观。
本质上还是Nginx的配置,要注意,一旦手工修改下图的配置(比如说自己添加了负载均衡相关的配置),表单上的配置就不再生效了,会以该配置文件为准。
五、测试
两个地方:
1、科大张焕杰老师的 http://ipv6.ustc.edu.cn
来源:oschina
链接:https://my.oschina.net/u/4286379/blog/4811973