如何给只有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访问
2. Nginx没有监听IPV6,因此使用IPV6的用户无法访问我的网站。作为开发者我想要使IPV6可用,我需要它。(App Store要求应用程序必须支持IPV6)。
3. 我需要将cxthhhhh.com重定向到www.cxthhhhh.com,我想为网站强制启用HTTP(80)跳转HTTPS(443)。
让我们开始
1. 我想为Nginx启用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.强制为我的站点启用SSL
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
3. 我要将网站301重定向到带www的子域名
if ($host ~ ‘^vpsso.com’){
return 301 https://www.vpsso.com$request_uri;
}
*你需要修改vpsso.com为你的域名
python -c “import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()” 8888
这个这个我没试过,但是理论上可行非常棒,你已经学会了,快去试试吧