wdcp使用ipv6

wdcp默认不支持ipv6,nginx编译时没有加--with-ipv6选项。所以可以通过重新编译的方法使之支持ipv6。

参考此贴:http://www.wdlinux.cn/bbs/viewthread.php?tid=1929,使用升级脚本的方法更加方便。

一、使Nginx支持IPV6访问

首先查看nginx版本和编译信息

/www/wdlinux/nginx/sbin/nginx -V

返回结果:

nginx version: nginx/1.2.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/wdlinux/nginx-1.2.7 --with-http_stub_status_module --with-http_ssl_module --with-ipv6

上面结果是我升级过的,默认的是nginx/1.0.15,并且结尾没有--with-ipv6.(如果有--with-ipv6则说明支持ipv6访问)。

直接使用wdcp的nginx升级脚本:

wget http://down.wdlinux.cn/in/nginx_up.sh

修改脚本,在编译配置结尾增加 --with-ipv6:

./configure --user=www --group=www --prefix=/www/wdlinux/nginx-$ver --with-http_stub_status_module --with-http_ssl_module --with-ipv6

保存退出,升级nginx:

sh nginx_up.sh 1.2.7 #指定版本号,不指定则按默认,但是默认的可能版本较低

完成。

之后的事情主要是自动化添加listen [::]:80.

二、修改nginx启动脚本使网站自动监听ipv6

完成nginx ipv6的支持后,还有一个麻烦事,wdcp新建网站时是 listen 80; 要支持ipv6,还得修改为listen [::]:80; ,于是网站多的时候修改会比较麻烦,多用户时新建网站可能会比较麻烦。

因此可以修改/etc/init.d/nginxd 脚本,每次重启nginx都修改listen 行为 listen [::]:80。添加替换代码如下:

find /www/wdlinux/nginx-1.2.7/conf/vhost -name "*.conf" |xargs sed -i "2s/^.*$/         listen [::]:80;/g"

替换后的vhost配置文件:

server {
                listen [::]:80;
        server_name ipv6.hnubbs.net;
        root /wwwroot/ipv6_hnubbs_net/public_html;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  405 /errpage/405.html;
        location ~ \.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }
}

域名AAAA解析后ping结果:

$ ping ipv6.hnubbs.net

正在 Ping ipv6.hnubbs.net [2605:f700:40:c00::196c:dc8d] 具有 32 字节的数据:
来自 2605:f700:40:c00::196c:dc8d 的回复: 时间=214ms
来自 2605:f700:40:c00::196c:dc8d 的回复: 时间=212ms
来自 2605:f700:40:c00::196c:dc8d 的回复: 时间=212ms
来自 2605:f700:40:c00::196c:dc8d 的回复: 时间=212ms

2605:f700:40:c00::196c:dc8d 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 212ms,最长 = 214ms,平均 = 212ms

2 thoughts on “wdcp使用ipv6

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注