这次把web server从apache2换到nginx了。花了好几个小时时间,中间还由于一些小问题重装了几次
分别是nginx的ssl_protocols会override掉处于conf文件后部分的ssl_protocols的TLSv1.3。

  • 也就是说为了兼容只能全面启用TLSv1.2 TLSv1.3而不能给域名A开TLSv1.3而域名B开TLSv1.2和TLSv1.3的样子。如果域名A的conf为a.conf,域名B的conf为b.conf,域名A在server block里只允许了TLSv1.3而域名B在server block同时允许了TLSv1.2和TLSv1.3。那么在前面的优先级更高(由于nginx.conf的http block include了conf.d文件夹,所以是按文件顺序拼接起来的样子)会导致域名B也只开启了TLSv1.3。相反的的话结果也会是相似的,既域名A同时开启了两个版本的TLS,同时如果server block里没有指定ssl_ciphersuites的话,TLSv1.2可能会使用不安全的加密套件。同时发现server block不会继承http block里的ssl_protocols如果在前面有其他server block指定了ssl_protocols的话(不然可以在http block里允许同时使用TLSv1.2和1.3,然后在各自的server block里不使用TLSv1.2或者不指定TLSversion就可以解决了,从目前的几次测试来看无法成功)。

以及systemctl的正确添加开机启动项的方法:

  • 除了将service_name.service文件丢到/lib/systemd/system里并且软链到/etc/systemd/system以外
    需要使用systemctl enable service_name.service来正确启动而不是通过systemctl daemon-reload来重载。 可以使用systemctl is-enabled service_name.service来判断是否正确启用了。

因为这上面的两个问题导致重装了好几次:(