nginx配置HTTPS

准备工作

1、生成证书

nginx配置HTTPS
(图片来源网络,侵删)

首先需要生成一个SSL证书,可以使用Let’s Encrypt免费证书,以下是使用Certbot工具生成证书的命令:

sudo aptget update
sudo aptget install softwarepropertiescommon
sudo addaptrepository ppa:certbot/certbot
sudo aptget update
sudo aptget install certbot python3certbotnginx
sudo certbot nginx d example.com d www.example.com

2、备份原始Nginx配置文件

在修改Nginx配置文件之前,建议先备份原始配置文件,可以使用以下命令备份:

sudo cp /etc/nginx/sitesavailable/default /etc/nginx/sitesavailable/default.bak

配置HTTPS

1、编辑Nginx配置文件

使用文本编辑器打开Nginx配置文件,

sudo nano /etc/nginx/sitesavailable/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 StrictTransportSecurity maxage=15768000;
    add_header XFrameOptions DENY;
    add_header XContentTypeOptions nosniff;
    add_header XXSSProtection "1; mode=block";
    add_header ReferrerPolicy strictoriginwhencrossorigin;
    add_header ContentSecurityPolicy "frameancestors 'self' https://your_domain";
    add_header XDNSPrefetchControl off;
    add_header XDownloadOptions noopen;
    add_header XPermittedCrossDomainPolicies none;
    add_header XContentTypeOptions nosniff;
    add_header XXSSProtection "1; mode=block";
    add_header ReferrerPolicy strictoriginwhencrossorigin;
    add_header ContentSecurityPolicy "frameancestors 'self' https://your_domain";
    add_header XDNSPrefetchControl off;
    add_header XDownloadOptions noopen;
    add_header XPermittedCrossDomainPolicies 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连接正常。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/677261.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-06-08 14:14
下一篇 2024-06-08 14:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入