我正在为一个封闭的用户组编写webaplication.它仅适用于https.服务器应检查是否允许用户通过检查用户ssl证书来访问服务器.我希望只有一个白名单(在userprofile中具有用户证书的ex字段),而不是由我的CA签署他们的密钥.由于没有用户/通行证,内容将取决于客户提供的证书.
我知道我可以将他们的证书列表提供给apache/nginx,但我不喜欢这个解决方案,因为我需要将这个列表保存在两个地方:apache(access/deny)和django:auth middleware(内容取决于哪个证书是提供的).维持这可能是一场噩梦.
还有其他好办法吗?也许我应该让django采取ssl的事情?
请检查此python代码:
#!/usr/bin/env python
import requests
import multiprocessing
from time import sleep, time
from requests import async
def do_req():
r = requests.get("http://w3c.org/")
def do_sth():
while True:
sleep(10)
if __name__ == '__main__':
do_req()
multiprocessing.Process( target=do_sth, args=() ).start()
Run Code Online (Sandbox Code Playgroud)
当我按Ctrl-C(运行后等待2秒 - 让Process运行)时,它不会停止.当我将导入订单更改为:
from requests import async
from time import sleep, time
Run Code Online (Sandbox Code Playgroud)
它在Ctrl-C之后停止.为什么它不会在第一个例子中停止/杀死?
这是一个错误还是一个功能?
笔记:
multiprocessing.__version__ == 0.70a1,requests.__version__ == 0.11.2,gevent.__version__ == 0.13.7