在Ubuntu中,要启用HSTS(HTTP Strict Transport Security),您需要编辑网站的Nginx或Apache配置文件。以下是针对Nginx和Apache的步骤:
对于Nginx:
打开终端。
使用文本编辑器打开Nginx配置文件。通常,该文件位于/etc/nginx/sites-available/目录下,例如:sudo nano /etc/nginx/sites-available/yourdomain.com。将yourdomain.com替换为您的域名。
在server块中,找到listen 80;这一行,这是HTTP的配置。在此行之前,添加以下代码:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
这将为您的网站启用HSTS,max-age值设置为31536000秒(1年),您可以根据需要调整此值。includeSubDomains表示HSTS策略也适用于所有子域名。
保存更改并退出文本编辑器。
创建一个符号链接,将配置文件链接到sites-enabled目录:sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
检查Nginx配置文件的语法是否正确:sudo nginx -t
如果一切正常,重新加载Nginx以应用更改:sudo systemctl reload nginx
对于Apache:
打开终端。
使用文本编辑器打开Apache配置文件。通常,该文件位于/etc/apache2/sites-available/目录下,例如:sudo nano /etc/apache2/sites-available/yourdomain.com.conf。将yourdomain.com.conf替换为您的域名。
在<VirtualHost *:80>块中,找到ServerName yourdomain.com这一行,将yourdomain.com替换为您的域名。在此行之前,添加以下代码:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
这将为您的网站启用HSTS,max-age值设置为31536000秒(1年),您可以根据需要调整此值。includeSubDomains表示HSTS策略也适用于所有子域名。
保存更改并退出文本编辑器。
启用新的Apache配置文件:sudo a2ensite yourdomain.com.conf
检查Apache配置文件的语法是否正确:sudo apache2ctl configtest
如果一切正常,重新加载Apache以应用更改:sudo systemctl reload apache2
现在,您的网站已启用HSTS。请确保您的网站使用HTTPS,否则浏览器可能会拒绝访问。