内容提要
本文介绍了在DigitalOcean VPS上配置Ubuntu 26.04 LTS服务器加密站点的过程。先生成4096位dhparam文件,参考TLS配置器采用Modern方式修改Nginx配置,实现HTTP重定向到HTTPS并启用HTTP2和HSTS,SSL检测获A评分。随后安装fcgiwrap等组件,配置多worker的Perl-Fastcgi服务,在Nginx中添加相应配置,测试Perl文件成功运行。至此,服务器已配置好Webmin、Nginx、MariaDB、PHP8.5-FPM及SSL证书,可安装网站程序。
延伸解读
SSL配置要点
生成4096位dhparam文件耗时较长,需耐心等待。配置参考TLS配置器的Modern方式,实现HTTP到HTTPS的重定向,并启用HTTP2和HSTS。检测SSL配置时,SSL Labs评分达到A,也可用SSLShopper验证证书。这些步骤确保站点加密安全,但需注意HSTS一旦启用,后续若证书失效可能导致访问问题。
Perl支持配置
为支持MovableType等Perl程序,安装fcgiwrap、spawn-fcgi和libfcgi-perl,并配置多worker服务。通过systemd管理fcgiwrap-multi,禁用默认服务,启动4个worker。在Nginx中添加location块处理.pl和.cgi请求,测试index.pl成功执行。此配置确保Perl脚本在Nginx下正常运行,但需注意fcgiwrap的权限和socket路径设置。
服务器配置完成
至此,VPS已配置好Ubuntu 26.04 LTS、Webmin、Nginx、MariaDB、PHP8.5-FPM、Perl-Fastcgi及免费SSL证书,并建立测试站点。后续可安装PHP或Perl编写的网站程序。但需注意,当前配置仅为基础环境,实际部署时还需考虑防火墙、备份、性能优化等安全与运维措施。
Q&A
如何在Nginx中启用HTTP/2和HSTS?
在Nginx配置文件中,为监听443端口的server块添加`listen 443 ssl http2;`以启用HTTP/2,并添加`add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;`来启用HSTS。同时,将HTTP请求重定向到HTTPS。
如何生成4096位的dhparam文件?
在SSL证书目录下执行命令`openssl dhparam -out dhparam.pem 4096`,该命令会生成一个4096位的DH参数文件,用于增强SSL安全性。生成过程可能需要较长时间。
如何配置fcgiwrap多worker服务?
创建一个systemd服务文件`/etc/systemd/system/fcgiwrap-multi.service`,内容包含`ExecStart=/usr/bin/spawn-fcgi -F 4 -s /var/run/fcgiwrap.socket -u www-data -g www-data -- /usr/sbin/fcgiwrap`,然后禁用默认的fcgiwrap服务,启用并启动新服务。这样会启动4个worker进程。
如何在Nginx中配置Perl-Fastcgi?
在Nginx配置文件中添加location块,匹配`.pl`或`.cgi`文件,使用`fastcgi_pass unix:/var/run/fcgiwrap.socket;`并设置`fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;`,然后重启Nginx。
如何测试Perl文件是否能在Nginx中正常运行?
在网站根目录创建一个`.pl`文件(如index.pl),赋予可执行权限(chmod 755),然后在浏览器中访问该文件。如果看到预期的输出,说明Perl执行成功。
如何检查SSL配置是否安全?
可以使用SSL Labs(https://www.ssllabs.com/ssltest/)进行检测,评分达到A表示配置良好。也可以使用SSLShopper进行证书检查。
安装fcgiwrap需要哪些软件包?
需要安装`fcgiwrap`、`spawn-fcgi`和`libfcgi-perl`,可以使用命令`sudo apt install fcgiwrap spawn-fcgi libfcgi-perl`进行安装。