当前位置:论坛首页 > Linux面板 > 讨论

[教程] 宝塔面板配置IPV6监听,为网站提供IPV6访问

发表在 Linux面板2018-8-24 21:41 [复制链接] 3 13671

本帖最后由 MeowLove 于 2018-8-25 09:57 编辑

简介


有时候,你会遇到这样的问题:
1. 我的服务器拥有IPV6但是无法通过IPV6访问(只能通过IPV4访问)。
2. Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。
3. 我需要将cxthhhhh.com重定向到www.cxthhhhh.com,我想为网站强制启用HTTP(80)跳转HTTPS(443)。
4. 更新宝塔面板自身开启IPV6支持(理论上没问题,未测试,请反馈,不要在正式环境玩)

让我们开始

1. 我想为Nginx启用IPV6监听
①. 首先你需要为你的服务器配置IPV6,只有拥有IPV6地址,你才可以使用。
任意服务器配置IPV6教程(由tech.cxthhhhh.com提供)
[Original] 手动给任意服务器配置 IPV6

②. 检查Nginx是否安装IPV6支持。【宝塔默认已开启–with-ipv6支持,此处可掠过】
SSH终端输入:[nginx -V],检查是否具有[–with-ipv6]输出,代表已经安装IPV6模块。

③. 编辑网站配置文件。
查找
listen 80;
listen 443 ssl http2;
替换为
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;

按照图片这样配置
宝塔IPV6监听.PNG

重启Nginx

④. 现在你就可以通过IPV6访问你的网站了。

2.强制为我的站点启用SSL

①. 在网站配置文件新增以下内容
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}

②.重启Nginx,清除浏览器缓存,你会发现HTTP(80)网站自动跳转到HTTPS(443)。

3. 我要将网站301重定向到带www的子域名

①. 在网站配置文件新增以下内容
if ($host ~ '^cxthhhhh.com'){
return 301 https://www.cxthhhhh.com$request_uri;
}
*你需要修改cxthhhhh.com为你的域名
按照图片这样配置

②.重启Nginx,清除浏览器缓存,你会发现301重定向已经生效。


4. 为宝塔面板自身开始IPV6支持,理论上可行,宝塔PY版本是2.7,未测试,因为这个我用不到。

宝塔面板自身开启IPV6访问(网站的已经告诉你了),端口你改成自己用的试试。

python -c "import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()" 8888

这个这个我没试过,但是理论上可行

非常棒,你已经学会了,快去试试吧


这篇文章发表在[CXT] Technical Blog | 技術博客,如果您需要转发分享,请注明出处。


宝塔301重定向.PNG
使用道具 举报 只看该作者 回复
发表于 2018-8-25 02:29:35 | 显示全部楼层
刚刚就碰到把监听地址改为IPV4 & IPV6之后服务器无法识别来源于域名的情况,试了下多写个监听地址结果可以正常访问了。想着来发个帖子的。结果。。。不过还是多谢一波楼主的分享精神
使用道具 举报 回复 支持 反对
发表于 2018-8-28 15:07:35 | 显示全部楼层
经过测试宝塔面板无法通过ipv6访问
使用道具 举报 回复 支持 反对
发表于 2021-1-12 17:25:56 | 显示全部楼层
夜空 发表于 2018-8-28 15:07
经过测试宝塔面板无法通过ipv6访问

现在还不支持吗?
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表