准备工作
1、生成证书
首先需要生成一个SSL证书,可以使用Let's Encrypt免费证书,以下是使用Certbot工具生成证书的命令:
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com
2、备份原始Nginx配置文件
在修改Nginx配置文件之前,建议先备份原始配置文件,可以使用以下命令备份:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
配置HTTPS
1、编辑Nginx配置文件
使用文本编辑器打开Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
2、修改配置文件内容
将以下内容添加到配置文件中,替换"your_domain"为你的域名:
server {
listen 80;
server_name your_domain;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain;
ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy strict-origin-when-cross-origin;
add_header Content-Security-Policy "frame-ancestors 'self' https://your_domain";
add_header X-DNS-Prefetch-Control off;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
location / {
root /var/www/html;
index index.html index.htm index.php;
try_files $uri $uri/ =404;
}
}
3、保存并退出编辑器。
重启Nginx服务并测试HTTPS连接
1、重启Nginx服务:
sudo systemctl restart nginx
2、使用浏览器访问你的域名,确保HTTPS连接正常。
结尾
感谢阅读本文,希望对您有所帮助。如果您有任何问题或评论,请随时留言。请关注我们的博客以获取更多相关内容,并给予我们的文章点赞和分享,感谢您的观看!
评论留言