首页 > 解决方案 > 如何让 django 使用弹性 beanstalk 和 apache 在 https 上工作?

问题描述

我使用 aws 上可用的信息设置了我的 .config 文件,并且我的负载均衡器正在监听 443。当我使用弹性 beanstalk url 连接时,我的网站通过 https 正确服务。当然,该 url 不是我的 ssl 证书列出的内容,因此存在错误,但仍然显示所有 html 和静态文件。Https 似乎在那里工作。

当我尝试使用 http 访问我的自定义域时,所有内容也会正确显示,因此我的应用程序看起来不错,但是当我尝试使用自定义域的 https 时,没有从我的服务器加载任何内容。我刚刚得到“/索引”页面。这是我的 ALLOWED_HOSTS 不正确时收到的内容,所以我认为这是我的设置文件中的一个超级简单的东西,它阻止了 django 允许 apache 通过 https 将内容提供给我的自定义域。或者我还缺少另一个需要我向负载均衡器注册我的域的地方?那是一回事吗?我觉得我一直在互联网上寻求帮助,所以非常感谢任何建议。

另一个注意事项是我所有的静态文件都是通过 s3 提供的。当我通过 https 访问我的网站的自定义 url 时,该存储桶实际上确实被正确加载了......不确定这是一个线索还是更令人困惑。

通过 s3 提供我的静态文件导致我省略以下内容,因为我不太确定如何处理它......

  Alias /static/ /opt/python/current/app/static/

从此处列出的示例 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-python.html

同样,一切似乎都通过 https://[...]elasticbeantalk.com 正常工作

ERR_CERT_COMMON_NAME_INVALID

不知道为什么我在通过 https 访问我的自定义域时得到“/ 的索引”。Http也可以正常工作。

标签: djangoamazon-web-servicesapachehttpsamazon-elastic-beanstalk

解决方案


我问这个问题时有点想通了...

在任何教程中,我都没有读到任何关于创建将我的负载均衡器别名为我的域名的 dns 条目的任何内容......这个信息为我解决了它 -

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html


推荐阅读