为AWS Lightsail后端实例设置HTTPS



我有一个网页托管在S3 bucket中,它是为HTTPS设置的。

我的后端运行在一个AWS Lightsail实例上,该实例具有一个静态IP地址,我的前端请求该地址以获取JSON数据。该服务器是在Docker容器中运行的Python Flask服务器。

当我运行docker run -p 443:MY_PORT ...(端口443是Lightsail的HTTPS端口(时,我无法使前端与服务器通信。相反,我得到了这个错误:

spread.js:25混合内容:'https://www.bible-it.com/'是通过HTTPS加载的,但请求了一个不安全的XMLHttpRequest端点。。。此请求已被阻止;必须通过HTTPS提供内容。

如果我通过端口80运行docker命令,就没有问题。

为我的Lightsail实例设置HTTPS的最佳方式是什么

如果我的设置

前端:s3铲斗

后台:Lightsail>Ubuntu>Docker>Python Flask

设置不好,请告诉我。我自学成才,希望得到一些指导。非常感谢。

正如错误消息所说,您的服务器无法通过HTTPS正确地提供内容。这可能有几个原因:

  • 您的请求将重定向到HTTP。请确保您的服务器不会执行此操作
  • 您的Lightsail实例不允许HTTPS连接。在这种情况下,您必须更新实例的防火墙
  • 您的TLS/SSL证书设置不正确。在这种情况下,您可以使用例如Let's Encrypt,并按照他们的文档进行正确的设置


最后一个提示:

如果我理解正确,那么您正在开发服务器上运行应用程序。如果您使用运行Flask应用程序,情况就是这样

from Flask import Flask
app = Flask(__name__)
app.run()

通常,您不应该在生产中使用开发服务器。

它不是为了特别高效、稳定或安全而设计的。它不支持HTTP服务器的所有可能功能。

您可以在本次讨论中阅读有关此方面的更多信息。

相关内容

  • 没有找到相关文章

最新更新