Django解决https配置问题

准备:

  1. Django>=2.2版本
  2. 生成ssl证书
  3. 下载所需库(django-extensions,django-werkzeug-debugger-runserver,pyOpenSSL)
  4. 进行配置并启动服务

一、实现步骤

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

依次执行上述命令,执行过程中需要注册用户名,密码等信息,可以随意输入。
注册成功后如下:
Django解决https配置问题
注册完毕后找到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中加入最后两行:
Django解决https配置问题

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版本过低。

上一篇:Django常用命令总结


下一篇:django 的网站创建步骤(一)