summerdawn网站开启https

linxiaoyun 2024.4.3 17:55 590 0
summerdawn Django Nginx qiniu

今天summerdawn重新备案成功,并开启https,网站进入新阶段。

1.开启https,主要是在nginx配置文件下修改server设置,如下:

    listen      443 ssl;

	#请填写证书文件的相对路径或绝对路径/etc/nginx/ssl/summerdawn.top_bundle.crt
	ssl_certificate /etc/nginx/ssl/summerdawn.top_bundle.crt; 
	#请填写私钥文件的相对路径或绝对路径
	ssl_certificate_key /etc/nginx/ssl/summerdawn.top.key; 
	ssl_session_timeout 5m;
	#请按照以下协议配置
	ssl_protocols TLSv1.2 TLSv1.3; 
	#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
	ssl_prefer_server_ciphers on;

再此之前,需要申请免费ssl证书上传到服务器,本项目在nginx配置文件下增设ssl路径。

2.其次需要根据ssl免费证书的要求增加cname解析,此详见申请免费证书的使用说明。

3.还需要将七牛云存储升级为https。该升级导致cdn免费的10G流量不可用,痛失银子。该升级也需要提供对应域名的ssl免费证书,与前面的不同,因为免费的证书绑定了域名。

4.避免Django的csrf错误,https与http并不是同一个域,因此猜测是开启了https的问题,解决办法如下:配置文件,添加如下代码,需要在配置文件中添加反向代理设置

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

5.为了彻底采用https,将http访问重定向

server {
 listen 80;
 #请填写绑定证书的域名
 server_name  summerdawn.top; 
 #把http的域名请求转成https
 return 301 https://$host$request_uri; 
 #rewrite ^(.*)$ https://$host$1 permanent;
}

6.每次修改配置,需要运行配置文件测试与重载命令。

在nginx配置文件路径下/etc/nginx,运行如下命令:

root@VM-8-13-ubuntu:/etc/nginx# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@VM-8-13-ubuntu:/etc/nginx# nginx -s reload

 

Last Modified·2024年4月3日 18:11

暂无评论

您尚未登录,请先才能评论。