我知道您可以使用 Python 3 创建一个简单的 HTTP Web 服务器
python -m http.server
但是,有没有一种简单的方法来保护与 WebServer 的连接,我需要生成证书吗?我该怎么做?
首先,您需要一个证书 - 假设我们将它放在一个localhost.pem
包含私钥和公钥的文件中,然后:
import http.server, ssl
server_address = ('localhost', 4443)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,
server_side=True,
certfile='localhost.pem',
ssl_version=ssl.PROTOCOL_TLS)
httpd.serve_forever()
确保为wrap_socket
!
注意:如果您使用它来服务网络流量,您需要使用'0.0.0.0'
代替'localhost'
来绑定到所有接口,将端口更改为 443(HTTPS 的标准端口),并以超级用户权限运行以获得权限绑定到一个众所周知的端口。