小白想分享一下ipv6如何配置SSL心得、nginx转发ipv6toipv4和如何外网ipv4访问家里ipv6设备;
新手发帖,如有重复,请联系(主要是想借论坛大神平台接入小爱同学)
一、背景
- 偶然发现家里的移动宽带接入了ipv6且能使用公网(光猫桥接)
- 所以就开始琢磨如何添加SSL配置。
- 使用土豆兄的Nginx Proxy Manager配置了很久还是无法正常使用(可能是因为ipv6的问题),于是就开展最基本的学习nginx之路。
二、配置
安装就不说了,就几个命令
树莓派安装nginx
/etc/nginx
下的nginx.conf
是nginx的主配置文件;
由于配置文件的重要性,推荐大家不要动他。推荐更改sites-available
目录下的文件;
打开/etc/nginx/sites-available/
开始配置default
为什么不是sites-enabled,因为该目录下有个链接是链接于/etc/nginx/sites-available/default
-
下面贴/etc/nginx/sites-available/default配置(直接在最后添加)
server {
listen [::]:443 ssl http2;
server_name www.abc.com;
#需要将域名解析于自家ipv6公网,如果是阿里云可以使用aliddns.sh动态解析
root html;
index index.html index.htm;
#这里的.pem/.key文件替换成自己对应的文件名
ssl_certificate cert/www.abc.com.pem;
ssl_certificate_key cert/www.abc.com.key;
#ssl文件储存于/etc/nginx/cert,先新建cert目录并赋权限
ssl_session_timeout 5m;
ssl_ciphers
ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
#代理的目标地址
proxy_pass http://127.0.0.1:8123;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “Upgrade”;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
注意缩进格式
(第一次发帖不怎么会发代码缩进格式,见谅 )
然后 sudo nginx -t 验证和sudo nginx -s reload重启nginx
这样就不用将Hassio改为ipv6访问导致nodered的一系列问题发生。
三、后续问题
- 单位使用ipv4网络,对于ipv6的服务器只有手机蜂窝数据才能访问。
问题来了如何在单位可以登陆家里ha或者nodered服务呢- 答案:可以使用cdn对网站进行加速
因为网站处于无备案状态,国内cdn都不支持,所以把目光投去了cloudflare
。
如果加速网络不好,可以使用国内CF partner,运用CNAME解析,使用自定义节点进行手动选择最快节点加速对HA/NR访问,具体方法后续更新。
欢迎大家在帖子下交流心得,看看有没有更好的ipv4访问ipv6方法