首页 > Web开发 > 详细

uwsgi的 https 支持

时间:2021-02-18 15:03:07      阅读:34      评论:0      收藏:0      [点我收藏+]

HTTPS支持 (v>1.3)

使用 https ,, 选项。这个选项可能会被多次指定。首先使用OpenSSL工具生成你服务器的密钥证书签名请求,以及自注册证书:

注解:你会想要一个用于生产的真正的SSL证书的。

openssl genrsa -out foobar.key 2048
openssl req -new -key foobar.key -out foobar.csr
openssl x509 -req -days 365 -in foobar.csr -signkey foobar.key -out foobar.crt

然后使用刚刚生成的SSL证书和密钥启动服务器:

uwsgi --master --https 0.0.0.0:8443,foobar.crt,foobar.key

由于端口443(这个端口通常用于HTTPS)是特权端口 (即非root进程可能不会绑定它),因此你可以使用共享socket机制,像这样绑定后去除特权:

uwsgi --shared-socket 0.0.0.0:443 --uid roberto --gid roberto --https =0,foobar.crt,foobar.key

uWSGI将会绑定到任何IP的443端口,然后删除那些 roberto 的特权,接着讲共享socket 0 (=0) 用于HTTPS。

注解:=0语法目前未公开。

设置SSL/TLS加密

https 选项的第四个参数是可选的,你可以用它来指定OpenSSL加密套件。

[uwsgi]
master = true
shared-socket = 0.0.0.0:443
uid = www-data
gid = www-data

https = =0,foobar.crt,foobar.key,HIGH
http-to = /tmp/uwsgi.sock

这将会为你的SSL/TLS事务(尽可能)设置所有的 HIGHest(最高的) 密码。

客户端证书认证

https 还可以有可选的第五个参数。

你可以用它来指定一个CA证书来对你的客户端进行鉴权。生成你的CA密钥证书 (这次,密钥将会是4096位,并且有密保):

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

生成服务器密钥和CSR (如前):

openssl genrsa -out foobar.key 2048
openssl req -new -key foobar.key -out foobar.csr

使用你的新CA注册服务器证书:

openssl x509 -req -days 365 -in foobar.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out foobar.crt

为你的客户端创建一个密钥和一个CSR,使用CA进行对其进行注册,然后将其打包为 PKCS#12。为每个客户端重复这些步骤。

openssl genrsa -des3 -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
openssl pkcs12 -export -in client.crt -inkey client.key -name "Client 01" -out client.p12

然后为证书客户端鉴权配置uWSGI

[uwsgi]
master = true
shared-socket = 0.0.0.0:443
uid = www-data
gid = www-data
https = =0,foobar.crt,foobar.key,HIGH,!ca.crt
http-to = /tmp/uwsgi.sock

注解:如果你不想要强制客户端证书鉴权,那么移除https选项中ca.crt之前的’!’。

官方文档:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/HTTPS.html

uwsgi的 https 支持

原文:https://www.cnblogs.com/davis12/p/14411643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!