使用海外服务器,当然要好好利用ipv6了,不用白不用。

运行环境 Runtime environment

1
2
3
操作系统 : Ubuntu18.04
IDE: JetBrains pycharm 2019.2.4 x64
Python: 3.6.9

背景

IPV4日益稀缺,ipv6已经慢慢走上日程,待ipv6在国内普及,使用nginx配置ipv6那是肯定的,如何让nginx支持ipv6以及配置.

查看nginx是否支持ipv6

没有出现–with-ipv6,说明当前的nginx不支持ipv6,所以我们需要重新编译nginx,配置里面增加–with-ipv6.

安装过程就不赘述了。

1
2
3
4
5
nginx version: nginx/1.16.1
built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
built with OpenSSL 1.1.1b 26 Feb 2019
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc

同时监听IPV4和IPV6

1
2
3
4
5
server {
.....
listen [::]:80;
.....
}

只监听IPV6

1
2
3
4
5
server {
....
listen [::]:80 default ipv6only=on;
...
}

监听指定IPV6地址

1
2
3
4
5
server {
....
listen [3608:f0f0:3002:31::1]:80;
...
}

重启nginx

nginx -s reload # 如果不生效,可以去搜索nginx的重启命令,不同系统不同版本的nginx,重启命令有差异