准备:
- Django>=2.2版本
- 生成ssl证书
- 下载所需库(django-extensions,django-werkzeug-debugger-runserver,pyOpenSSL)
- 进行配置并启动服务
一、实现步骤
1.生成ssl证书(测试版证书0)
1、下载软件openssl-0.9.8k_WIN32
2、解压后进入bin目录,双击打开openssl.exe,依次运行如下命令
genrsa -des3 -out server.key 2048
req -new -key server.key -out server.csr -config openssl.cnf
rsa -in server.key -out server_no_passwd.key
x509 -req -days 365 -in server.csr -signkey server_no_passwd.key -out server.crt
依次执行上述命令,执行过程中需要注册用户名,密码等信息,可以随意输入。
注册成功后如下:
注册完毕后找到openssl_0.9.8k_WIN32文件目录下的bin目录下的server.crt与server.key文件复制到自己的django项目下(与manage.py文件同级)。
2.下载第三方库
pip3 install django-extensions
pip3 install django-werkzeug-debugger-runserver
pip3 install pyOpenSSL
注意:安装pyOpenSSL第三方库时,可能出现无法安装的情况,具体解决方式参考各类问题中的解答。
3.配置django中的settings文件
配置app,app中加入最后两行:
4.启动服务
python manage.py runserver_plus --cert server.crt 0.0.0.0:8088
http启动方式为runserver,https为runserver_plus。加入–cert参数,server.crt为我们前面加入项目的SSL证书文件。
二、各类问题
1.django版本问题:
需要注意:当django版本低于2.2时,配置完毕后使用python manage.py runserver_plus启动服务器时会出现get_reload()方法缺失,导致服务器会无法成功启动。
2.缺少必要环境(windows下):
error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
出现如上错误表明缺少Microsoft Visual C++ 14.0软件,先安装Microsoft Visual C++ 14.0.
安装地址或安装中出现错误请参考:
https://blog.csdn.net/weixin_42057852/article/details/80857948
转载于:七彩吞天蟒
3.pip版本太低
pip版本过低情况下安装pyOpenSSL时可能会出现以下情况:
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\
HostX86\\x64\\cl.exe' failed with exit status 2
或者
Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
或者
build\temp.win-amd64-3.7\Release\_openssl.c(575): fatal error C1083: 无法打开包括文件: “openssl/opensslv.h”: No such
file or directory
我们还可以根据报错信息中是否包含/pip/来判断是否是自身pip版本过低。