如何配置Nginx支持HTTPS?简明教程带你一步步实现安全加密连接

   360SEO    

准备工作

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连接正常。

结尾

感谢阅读本文,希望对您有所帮助。如果您有任何问题或评论,请随时留言。请关注我们的博客以获取更多相关内容,并给予我们的文章点赞和分享,感谢您的观看!

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。