AWS ELB SSL 和健康检查问题

AWS ELB SSL 和健康检查问题

我试图解决这个问题,但却感到非常沮丧。

我们有一个在负载均衡器上使用 SSL 证书的 AWS 环境。我们在 httpd.conf 中还有一个重写规则,将所有端口 80 流量重定向到 443。此环境与当前服务器完美配合,它按预期重定向到 443,并且 ELB 健康检查 ping 也按预期工作。

我们遇到的问题是,我们丢失了服务器构建文档,需要重新创建它。当尝试在新的 amazon linux 实例上配置新的 httpd 服务时,我们无法让现有 ELB 看到该实例可用 - ELB 运行状况检查不起作用(这适用于现有实例)。

健康检查配置如下:

HTTPS:443/proxy/login.php

(这并没有改变并且与现有实例一起工作)

ELB 监听器设置如下:

端口 80 -> 端口 80

端口 443 -> 端口 80(具有注册证书

我们在工作服务器的 httpd.conf 中还制定了以下规则:

<VirtualHost *:80>
RequestHeader set X-Forwarded-Proto "http"

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^test. [NC]
RewriteCond %{HTTP_HOST} !^signup. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

我已经将规则添加到新服务器,但还是没有成功。我甚至将 httpd.conf 从工作服务器复制到新服务器,但仍然没有成功。新服务器上还缺少什么?还有其他我需要担心的配置文件吗?

答案1

感谢大家的意见。我已通过在虚拟主机部分添加一个条件来解决这个问题,该条件排除了以下重定向到 443 的情况:

RewriteCond %{REQUEST_URI} !^/proxy/login\.php$

相关内容