您现在的位置是:网站首页>文章详情文章详情
Django部署中使用https协议及其http强制跳转https
inlike2019-06-07【
原创文章
】
浏览(2460)
评论(1)
喜欢(39)
简介https协议是目前大都数网站都使用的安全协议,这不禁是数据传输中的保障,更是网站优化中的重要一环,因为https协议在搜索引擎眼中比http协议更加的可靠,采用https协议的网站拥有更高权重;下面就分享在Django+nginx+uswgi部署流程中采用https协议
https协议是目前大都数网站都使用的安全协议,这不禁是数据传输中的保障,更是网站优化中的重要一环,因为https协议在搜索引擎眼中比http协议更加的可靠,采用https协议的网站拥有更高权重;下面就分享在Django+nginx+uswgi部署流程中采用https协议。
首先要清楚使用https协议可以通过两中方案实现,一种是在nginx上验证https,另一个是在uswgi上验证https,在uswgi官方文档上有关于uwsgi使用https的相关说明,这里就不介绍uwsg验证https了;本篇介绍简单、直观的nginx验证https协议。
要让网站通过https协议访问,那么我们首先需要证书,如腾讯云、阿里云都会提供免费有效期的证书,也可以自己生成证书,反正不管怎么样首先搞到证书。
如腾讯云下载证书后解压,文件下有nginx文件夹,这里面就是nginx需要需要的证书,然后我们把这个文件夹上传到服务器/home路径下。
接着重新编辑一下nginx的配置文件:
server {
listen 443; # 监听443
server_name www.likeinlove.com likeinlove.com
charset utf-8;
ssl on;
ssl_certificate /home/key_dir/1_www.likeinlove.com_bundle.crt;
ssl_certificate_key /home/key_dir/2_www.likeinlove.com.key;
# Allow file uploads
client_max_body_size 50M;
location /static {
alias /home/newblog/static/;
}
location /media {
alias /home/newblog/media/;
}
location = /favicon.ico {
rewrite (.*) /static/favicon.ico;
}
location = /robots.txt {
rewrite (.*) /static/robots.txt;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:800000;
}
与正常的http配置相比变化的只是监听端口443,以及开启了ssl验证和指定了证书的路径,除此之外没有其他特殊的变化,配置完后重启nginx即可在https下访问。
虽然可以在https下访问了,但是在http下无法访问,所以我们还需要在nginx中配置http重定向到https协议,在nginx中增加一个server配置:
server {
listen 80;
server_name www.likeinlove.com likeinlove.com;
return 301 https://$server_name$request_uri;
}
除了listen、server_name外其他字段是固定的,配置完后重启nginx即可在浏览器中通过http访问我们的网站了。
相关文章
本栏推荐

标签云
猜你喜欢
站点信息
- 建站时间:2019-5-24
- 网站程序:like in love
- 主题模板:《今夕何夕》
- 文章统计:104条
- 文章评论:***条
- 微信公众号:扫描二维码,关注我们
