用Nginx反向代理實現Web服務器的IPv6發佈

 這篇文章原文發佈在”運維日誌”博客於 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)的配置:

捕獲

捕獲2

將內網Web服務器的域名指向Nginx反向代理,如下圖:

image

2.3、配置Nginx反向代理

Nginx的安裝和配置在之前的博客都已經記錄了:

網站nic.lzit.edu.cn的反向代理配置如下圖所示:

image

代理其他內部Web服務器的配置跟上圖一樣,複製修改即可。

2.4、防火牆配置,開放Nginx服務器的IPv6和IPv4地址的Web端口,關閉其他服務器的Web端口。

image

三、 分析

這樣就很方便的實現了網站的IPv6發佈,當然,前提是學校網絡(服務器區)要支持並配置好雙棧網絡,並與IPv6互聯網連通。

可以到http://www.nic.edu.cn查詢網站的whios記錄和IPv6地址。

使用反向代理後只需要在反代的前邊放置WAF即可。

服務器區防火牆只需放行反代的Web端口即可,其他Web服務器不用再對外發布。

自己配置Nginx需要一定的命令行操作,容易出現打字錯誤,當內網服務很多時,不容易調試錯誤。

網站的日誌分析存儲在log文本文件中,不易分析。

四、使用廠商定製過的Nginx實現

這部分是替換上邊 2.3節 的手工配置。

反代的網站列表如下圖:

image

配置界面如下圖:

image

統計信息,比自建的NG直觀。

image

本質上還是Nginx的配置,要注意,一旦手工修改下圖的配置(比如說自己添加了負載均衡相關的配置),表單上的配置就不再生效了,會以該配置文件爲準

image

 

五、測試

兩個地方:

1、科大張煥傑老師的 http://ipv6.ustc.edu.cn

2、http://ipv6c.cn

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章