django runserver 配置https(整理版+pycharm配置)

简介

最近做基于CAS的SSO(单点登录) ,由于在CAS Server上配置的是https的服务地址,所以需要住django的运行使用https.

搜索了网上资料,很多重复的复制、粘贴版本,结合搜索到的文章,整理了一下。

步骤

1. 在django中安装以下组件,如果使用pycharm开发,可以把名字直接放在requirements.txt文件中,pycharm会自动提示安装。

pip install django-extensions
pip install django-werkzeug-debugger-runserver
pip install pyOpenSSL

2. 配置django的settings文件,在INSTALLED_APP中加入以下两个组件,并开启强制http转https设置

INSTALLED_APPS = [
    'werkzeug_debugger_runserver',
    'django_extensions',
     .....
]

....
SECURE_SSL_REDIRECT = True

3. 生产https所需要的证书(步骤复制于网上),生成的文件包含server.crt,server.key,server_nopwd.key .在运行https服务的时候,如果使用server.key启动的时候会需要输入密码,所以我们使用server_nopwd.key这个文件

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl rsa -in server.key -out server_nopwd.key
openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

4. 运行http服务器

python manage.py runserver_plus --cert-file server.crt --key-file server_nopwd.key 0.0.0.0:443
(venv) C:\Users\django-cas-ng-example>python manage.py runserver_plus --cert-file --server.crt --key-file server_nopwd.key 0.0.0.0:443
 * Restarting with stat
Performing system checks...

System check identified no issues (0 silenced).

Django version 3.0.3, using settings 'mysite.settings'
Development server is running at https://0.0.0.0:443/
Using the Werkzeug debugger (http://werkzeug.pocoo.org/)
Quit the server with CTRL-BREAK.
 * Debugger is active!
 * Debugger PIN: 185-949-477
 * Running on https://0.0.0.0:443/ (Press CTRL+C to quit)

5.验证,由于证书是自己生成的所以会提示不安全

 

6.如果使用Pycharm的运行按钮,可以参考如下的配置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值