gpt4 book ai didi

django - ELB 的 SSL 但使用 Apache 设置

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:37 26 4
gpt4 key购买 nike

现在我有一个支持 SSL 的网站。 SSL 处于 ELB 级别,因此 apache http 服务器永远看不到它。我试图做到这一点,以便 Apache 强制所有请求都具有 https,因此不会发出 http 请求。我正在阅读其他几篇关于 SO 的文章,包括:

Django and SSL question

https://serverfault.com/questions/410542/disable-https-for-certain-path-in-nginx-results-in-instance-behind-elb-going-int

http://www.acmedata.in/2012/08/31/how-to-host-a-django-app-behind-elb-with-ssl/

我可以为此使用 ELB 配置吗?或者我是否必须从ELB中删除私钥等并将其全部放在Web服务器级别?我找不到关于此的任何进一步信息...

最佳答案

您可以通过在 Apache 配置中添加这样的重写规则来强制使用 https:

<VirtualHost *:80>
...
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=permanent]
...
</VirtualHost>

这里的关键是 X-Forwarded-Proto header 。 ELB 处理 https 并将请求作为 http 转发给 Apache,并且它还在该过程中添加此 header 。重写规则检查此 header 以仅重定向并非源自 ELB 的 http 请求。

关于django - ELB 的 SSL 但使用 Apache 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18524259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com