Vultr VPS支持IPv6地址,于是想让Nginx也提供HTTPS IPv6服务。
-
准备:VPS添加IPv6地址,重启服务器。
-
更新自己的DNS域名解析:添加AAAA地址记录到新添加的IPv6地址。
-
Nginx新增IPv6地址Listen,并重启Nginx:
# HTTP
listen 80 default_server;
listen [::]:80 default_server;
# HTTPS
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
-
ip6tables添加80与443端口。在/etc/iptables/rules.v6
文件中添加:
# Nginx HTTPS
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-
更新Vultr防火墙,见https://my.vultr.com/firewall/
,在防火墙规则的Inbound IPv6 Rules
中放行80与443端口。
继续阅读→
原先系统使用Ubuntu 18.04,今天试着升级到Ubuntu 20.04。先sudo apt install screen
安装Screen,避免SSH中断无法继续。
为了避免数据丢失,在升级之前先对VPS进行Snapshot一次。Vultr防火墙放行TCP 1022
端口。参考 https://www.digitalocean.com/community/tutorials/how-to-upgrade-to-ubuntu-18-04 的步骤升级Ubuntu 20.04。
使用Putty SSH连接VPS时,把Putty窗口一直置于前台,避免升级过程中无响应、升级失败。也可以使用VPS实例的View Console
VNC控制台升级系统,不怕掉线。
继续阅读→
普通DNS协议不支持加密传输,DNS查询时可以被网络中的其它服务伪造数据包响应,查询到的域名IP地址是伪造的,称为“DNS污染”。
为了避免“DNS污染”,有这几种方案:DNSSEC、DNSCrypt、DNS-over-TLS (DoT)、DNS-over-HTTPS (DoH)。除了DNSSEC,其余三种协议都可以避免中间人窃听,是比较安全的传输协议。
DNS加密网络如下:
继续阅读→
有个人域名和双11购买3年的ECS,想把自己的博客救活起来,正规在国内开通一个网站,:)
在国内开通网站,最少需要两种备案:
- 工信部ICP备案
- 公安部网络安全备案
继续阅读→
Nginx默认配置只给文件生成ETag,没有添加Cache-Control相关的控制,造成Chrome浏览器默认当作永久缓存(除了在地址栏输入URL跳转时,才重新使用ETag校验)。
单页面应用网站的静态资源长期缓存策略:
- 主页index.html每次使用ETag校验。
- 其余资源(CSS/JS/Images等),根据其内容取HASH值提供唯一的URL路径。
但是,静态Blog网站一般都是很多个页面,且一篇Blog需确保URL地址不变,所以,需要使用不同的缓存控制策略。
继续阅读→
使用 Nginx 搭建网站,并确保使用 80 和 443 端口提供服务
- 先使用自认证证书,设置正确的 server_name,让 nginx 能够跑起来,
- 下一步要使用 Certbot 做证书自动获取与更新,必需使用标准的 80 和 443 端口提供服务;否则获取证书失败,原因请参考 https://letsencrypt.org/zh-cn/how-it-works/ 。
Ubuntu中使用 Certbot 获取证书与自动更新
使用Ubuntu Server 18.04搭建服务器,维护比其他的更轻松一些,:)
参考:https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
继续阅读→
继续阅读→