IPv6实现HTTPS数据加密方法

作者: boris 分类: 技术文章 发布时间: 2018-07-08 13:47

先在终端下输入以下指令,看看输出结果有没有–with-ipv6,没有的话就需要重新编译带有ipv6支持的nginx了。

nginx -V

编译nginx就不在这里说了,下面讲一下正确地配置nginx让其同时监听IPv4和IPv6的端口(包括http协议的80和https协议的443端口),同时介绍一下只监听IPv6和特定IPv6地址的方法。

我想同时监听IPv4和IPv6地址

编辑/etc/nginx/conf.d/default.conf,将server段的listen语句改成:

listen [::]:80;

06 Nov. 2014 Update

从Nginx 1.3 的某个版本起,默认ipv6only是打开的,也就是上面的语句只会监听IPv6的端口而不会监听IPv4的端口。虽然Linux系统默认是监听IPv6的某个端口会同时监听对应的IPv4的端口,但是FreeBSD是默认分开IPv6和IPv4的。所以为了一致性的考虑(新版本Nginx必须推荐这样做),请使用分开监听的方法:

listen [::]:80 default ipv6only=on;
我只想监听IPv6地址,不想监听IPv4地址

没问题,将listen写成:

listen [::]:80 default ipv6only=on;
我想监听一个指定的IPv6地址

和IPv4指定地址一样,就在listen里写上完整的地址就OK了!以一个IPv6地址为例:

listen [2607:f0d0:1002:51::4]:80;
我想要IPv6监听SSL(443)端口

编辑你原来监听443端口的配置文件,如/etc/nginx/conf/nginx.conf,修改listen语句为:

listen [::]:443 ssl;

后面的ssl可省掉。443端口的其它用法和80端口一样,SSL的配置方法可以参考这个指南,这里就不赘述了。

修改完成后,必须重启nginx服务(reload是不行的):

service nginx restart

 

发表评论

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