https的证书也是阿里云上申请的,个人的话可以申请免费的DV证书。以上都搞好了就可以部署在服务器上了。
开始我是想把项目弄在apache2上,所以下的证书文件是apache的,而且在阿里云上只有apache的指南,和apache2有一些不一样,具体的可以见https://blog.csdn.net/trh0123/article/details/70932448,https我倒是配置成功了,不过没把django部署上去,所以我就先直接使用django来当服务器。当然它的性能比较差,不过我这个后台也不需要什么性能,但是在django的debug模式下跑久了会有假死现象,导致连不上,所以最后还是要部署到apache上。
但是时间不等人,所以我决定还是先用django跑,不过网上没有说怎么用阿里云上申请的证书在django上跑https的,所以我还是记录一下。
1.安装python的几个库
安装:
pip install django-extensions
pip install django-werkzeug-debugger-runserver
pip install pyOpenSSL
2.在django项目的settings.py文件的INSTALLED_APPS中加上以下两行
'werkzeug_debugger_runserver',
'django_extensions',
3.将public.pem和1234.key传到django项目的目录下,并将public.pem重命名为public.crt,使用mv语句。
4.在项目目录下执行 python3.5 manage.py runserver_plus 0.0.0.0:443 --cert public.crt --key-file 1234.key就可以在https下运行了,其中443是https的默认端口,这样就可以不加端口号了。
上面是申请apache的证书的使用步骤,它的chain.pem没有用上,所以严格一些的审核通不过。要完美的让django支持https,需要nginx对应的证书,直接就是两个文件,一个crt,一个key,拷贝到项目目录下,进行第四步操作就可以了。
用edge打开网址看到https部署成功了,可真开心。