我似乎无法通过https连接服务器。
我创建了一个免费的Cloudflare帐户,以获取测试服务器的免费SSL证书。我将Cloudflare的原始证书和密钥下载到了在Google Cloud Platform上运行的Ubuntu服务器上。
防火墙选项中允许在端口443上使用https。
我试图创建一个简单的python https服务器,如下所示:
from socketserver import TCPServer
from http.server import SimpleHTTPRequestHandler
from ssl import wrap_socket
httpd = TCPServer(('localhost', 443), SimpleHTTPRequestHandler)
httpd.socket = wrap_socket(httpd.socket, certfile='./cert.pem', keyfile='./cert.key', server_side=True)
httpd.serve_forever()
它运行无错误,但不产生任何输出。我尝试通过访问https://ip_address而不指定端口来从浏览器进行连接,因为我认为默认情况下https连接到端口443。
我在端口80上运行了一个简单的http服务器,并且正常工作。
我希望在通过https连接的目录中看到基本的html页面,但是我会在浏览器中看到ERR_CONNECTION_REFUSED。
答案 0 :(得分:2)
将localhost
更改为0.0.0.0
。
Localhost仅接受来自计算机内部的连接。这是回送地址。
0.0.0.0
表示绑定到所有可用网络。这接受来自机器外部和内部的连接。