配置nginx ssl 开启站点https请求,真的把我坑惨啦!
2024年8月28日·13 次阅读

1.获取ssl证书

https://www.sslforfree.com/

可以免费获取证书

得到crt、key后缀文件

一般放在服务器的/etc/nginx/ssl/路径下

没有对应文件夹的话可以新建,与nginx的路径一致即可

2.添加nginx配置

xxx 替换为你的域名 并修改你的域名后缀

server {
    listen 443 ssl http2;
    server_name xxx.cn www.xxx.cn; #记得修改后缀

ssl_certificate /etc/nginx/ssl/xxx.crt;
ssl_certificate_key /etc/nginx/ssl/xxx.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

root /home/wwwroot/wordpress; #这里是你的网站访问根节点,我的是wordpress所以是此路径,按照自己的修改
index index.php index.html index.htm;

location / {
    try_files <span class="katex math inline">uri</span>uri/ /index.php?<span class="katex math inline">args;
}

location ~ \.php</span> {
    include fastcgi_params;
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME <span class="katex math inline">document_root</span>fastcgi_script_name;
}

location ~ /\.ht {
    deny all;
}

access_log /home/wwwlogs/ssl_access.log;
error_log /home/wwwlogs/ssl_error.log;

}

Redirect HTTP to HTTPS

server { listen 80; server_name xxx.cn www.xxx.cn; #记得修改后缀 return 301 https://hostrequest_uri; }

3.检查nginx状态 并重启

nginx -t
systemctl reload nginx

4.访问https后的地址

这里特别注意一下!!!

坑了我一下午

就是浏览器缓存问题,导致一直访问https的地址没有正常显示

一定要清下浏览器缓存!!!

> cd ..