美文网首页
Django部署https

Django部署https

作者: FishSha | 来源:发表于2018-09-02 00:25 被阅读958次

    Django版本小于1.8 + Nginx
    对于我们这种新手,刚入手就要部署https,刚开始是有点闷,后面查资料和自己琢磨,终于算是搞定了,下面说一下两个坑和大致的部署过程

    坑一: 不知道从何部署

    • Nginx

    Nginx中的配置

    #Nginx配置文件一般路径:/etc/nginx/sites-available/***.conf
    server {
        listen       443;//监听的端口
        server_name test***.***hui.com;//你的域名
        allow all;
        ssl          on;
        ssl_certificate      /etc/nginx/ssl/kangkanghui.com/kangkanghui.com.pem;
        ssl_certificate_key  /etc/nginx/ssl/kangkanghui.com/kangkanghui.com.key;
        #上面是你证书的相关路径配置
        ......
    }
    

    Django的配置文件

    SECURE_SSL_REDIRECT = True//将所有非SSL请求永久重定向到SSL
    SECURE_HSTS_SECONDS = 2
    SECURE_HSTS_INCLUDE_SUBDOMAINS = True//使用[HTTP严格传输安全]
    SECURE_FRAME_DENY = True//避免让自己的网页的框架和保护他们免受[点击劫持]
    SECURE_CONTENT_TYPE_NOSNIFF = True//防止浏览器猜测资产的内容类型
    SECURE_BROWSER_XSS_FILTER = True//启用浏览器的XSS过滤保护
    SESSION_COOKIE_SECURE = True 
    SESSION_COOKIE_HTTPONLY = True//防止COOKIE窃听,使客户端到服务端总是COOKIE加密传输
    

    Django中项目的setting.py文件

    添加"djangosecure.middleware.SecurityMiddleware"到设置中

    MIDDLEWARE_CLASSES = (
        'djangosecure.middleware.SecurityMiddleware',
        ...
    )
    

    安装django-secure用于检测刚才Django配置文件中的设置项

    pip install django-secure
    

    添加djangosecure到INSTALLED_APPDS中

    INSTALLED_APPS = (
        'djangosecure',
        ...
    )
    

    配置完成后可以用python manage.py checksecure查下是否都配置完成


    check secure.png

    如果还是出现一些页面无法访问(一般是内嵌的web页面无法找到资源),可以针对对应的页面将相关域名http修改成https即可

    坑二:git

    因为怕与当前测试环境正在使用的分支冲突,所以需要新增一个分支,但是本地分支提交和远端总是错误
    正确思路如下:

    * git branch -d https//本地创建新分支,如:https
    * 修改相关代码,如坑一
    * git push origin https:https//推送到远端并创建新分支https
    * git pull origin https:https//登录测试服务器,pull https分支并创建本地https分支
    

    查资料的同时发现几个好玩的东西
    SSL服务器测试
    https://www.ssllabs.com/ssltest/index.html

    • git中的git gui


      image.png

    相关文章

      网友评论

          本文标题:Django部署https

          本文链接:https://www.haomeiwen.com/subject/lnhxwftx.html