localhost:8080启用HTTPS

17 投票
4 回答
10030 浏览
提问于 2025-04-16 17:47

我正在尝试开发一个用Python写的Facebook应用,这个应用要在Google App Engine上运行。所以我需要把我的网址从 http://localhost:8080 改成 https://localhost:8080,因为Facebook要求提供一个安全的Canvas网址。请问我该怎么在localhost:8080上实现https呢?

4 个回答

2

我强烈推荐使用nginx和gunicorn来部署。这个方法非常简单,你可以自己生成一个自签名的证书在本地使用。比起Apache,这种方式更快也更容易。

8

我使用 stunnel 来在本地服务器上代理我的 HTTPS 请求。我把本地服务器运行在 127.0.0.1:8000,并且已经用以下内容配置了 stunnel:

[https]
accept  = 8001
connect = 8000

这样它就可以在 127.0.0.1:8001 上响应 HTTPS 请求。我已经用这两个 IP 地址配置了 Facebook 应用,效果很好。对于 Windows 用户,你可以在 这里 找到安装程序。

你需要配置两个 Facebook 应用,一个用于生产环境,另一个用于本地环境。使用主机 IP 地址来为不同的应用返回不同的 APP_ID,以便在本地和生产环境中区分。

16

来自文档的内容:

开发用的网页服务器不支持HTTPS连接。它会忽略安全参数,所以那些本来是要用HTTPS的路径,可以通过普通的HTTP连接来测试开发服务器。

你可以给问题960点个星,来请求增加这个支持。在那之前,我的建议是使用Apache或lighttpd作为开发服务器的代理,并且只在前端服务上启用HTTPS。

撰写回答