如何给只有IPv6的服务器安装宝塔面板?(以云筏NAT机为例)

 

图片[1]-如何给只有IPv6的服务器安装宝塔面板?(以云筏NAT机为例)-VPS SO

如何给只有IPv6的服务器安装宝塔面板?(以云筏NAT机为例)

最近购入了 云筏NAT机 本教程同样适用于只有IPv6的其它小鸡。

云筏NAT机提供了VNC功能,就是在线网页SSH,不需要本地Putty也能向服务器发出指令。

流程是启动主机,点击管理页面的“远程桌面”,输入SSH密码(OS密码)。

因为这个网页VNC不支持复制粘贴,所以接下来都需要手打:

1-1. 按照官方教程安装宝塔面板:https://www.bt.cn/bbs/thread-19376-1-1.html

比如我是CentOS,安装宝塔6.9,那就输入:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

当然具体指令要根据你服务器和版本来决定,安装时一路回车就可以,使用默认路经。

安装完毕后记下宝塔的初始路经、用户名、密码。

1-2. 执行指令使面板监听IPv6:

echo "True" > /www/server/panel/data/ipv6.pl

最新版本宝塔监控IPv6

echo '::' > /www/server/panel/data/ipv6.pl && /etc/init.d/bt restart

1-3. 执行指令将面板端口修改至8080:

echo "8080" > /www/server/panel/data/port.pl

如果是5.9老版本要改为

echo "[::]:8080" > /www/server/panel/data/port.pl && /etc/init.d/bt restart

不要改成其他端口,具体原因待会再说。

1-4. 让系统防火墙放行8080端口:

如果是CentOS,默认防火墙是FirewallD,指令如下:

firewall-cmd --permanent --zone=public --add-port=8080/tcp

否则一般默认是使用iptables,请执行:

iptables -A INPUT -p tcp --dport 8080 -j ACCEP && iptables-save

如果是Debian或者Ubuntu系统

ufw allow 8080

1-5. 重启服务器使上面所有变更生效:

reboot

至此您服务器的宝塔面板已经可以通过IPv6:8080端口访问了。

回到刚才的问题,我的家宽没有IPv6,无法访问怎么办?

解决方法是给这个IPv6绑定域名,套Cloudflare访问。

建议使用Cloudflare合作者接入,可以CNAME解析。

2-1. 申请Cloudflare账号:https://dash.cloudflare.com/sign-up

2-2. 访问:https://cf.tlo.xyz

用刚才申请的账号登录。

2-3. 按照他网站上的说明添加您自己的域名,例如我的域名abc.com

点击“管理DNS”,再点击“添加新解析记录”。

2-4. 填写您想用的管理地址,可以是二级域名,比如baota.abc.com

第一行“记录名称”填写“baota”,

“记录类型”选择“AAAA”,

“记录内容”填写您的外网IPv6地址,

CDN”务必要选择“开启”。

2-5. 保存后返回主页,往下拉找到“IP设置”部分,有几个“Anycast IPv4”,随便找一个复制下来。

2-6. 前往您域名注册商的DNS管理面板,添加和刚才名称相同的DNS记录,只不过“记录类型”要选择“A”,记录内容填写刚才复制的Cloudflare的IPv4地址。不知道注册商是啥、找不到注册商DNS管理、看不懂这段的,请放弃建站。

2-7. 等待一段时间(一般是2小时,可能更长)等解析生效,然后您就可以通过域名:2095访问宝塔面板了!

例如我的 http://baota.abc.com:8080,访问后会提示使用正确的路经访问,就是您在步骤1-1记录下的信息。

然后用步骤1-1给出的用户名、密码访问即可。如果上面这些您都不明白啥意思,请放弃建站。

至此您可以通过域名套Cloudflare通过代理IPv4访问原本无法访问的IPv6地址了!

您可以在宝塔面板中更加方便地进行文件管理、SSH管理等,基本可以满足建站需要。

请注意千万不要在面板设置中开启SSL,这会导致您的面板彻底无法访问!

至于为何要使用2095端口,是因为Cloudflare开放HTTP访问的端口有:

80、8080、8880、2052、2082、2086、2095

除此之外的端口无法访问,所以必须改成其中一个。

并且这些端口只支持HTTP访问,如果开启HTTPS就炸了。

解决SSL不正常问题:(教程提供人@烟锁池塘柳)

要在宝塔面板里开启SSL,CF那里也开启SSL。

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

有时候,你会遇到这样的问题:
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地址,你才可以使用。
②. 检查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;
图片[2]-如何给只有IPv6的服务器安装宝塔面板?(以云筏NAT机为例)-VPS SO
重启Nginx
 
④. 现在你就可以通过IPV6访问你的网站了。
 

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

①. 在网站配置文件新增以下内容
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
 
②.重启Nginx,清除浏览器缓存,你会发现HTTP(80)网站自动跳转到HTTPS(443)。
 

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

①. 在网站配置文件新增以下内容
if ($host ~ ‘^vpsso.com’){
return 301 https://www.vpsso.com$request_uri;
}
*你需要修改vpsso.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

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

 

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享