如何使用 Cloudflare SSL 证书设置简单的 https 服务器?

How to set up a simple https server using a Cloudflare SSL certificate?

我似乎无法让我的服务器通过 https 连接。

我创建了一个免费的 Cloudflare 帐户以获取用于测试服务器的免费 SSL 证书。我从 Cloudflare 下载了原始证书和密钥到 Google 云平台上我的 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。

localhost 更改为 0.0.0.0

Localhost 只接受来自机器内部的连接。这是环回地址。

0.0.0.0 表示绑定到所有可用网络。这接受来自机器外部和内部的连接。