gpt4 book ai didi

ruby-on-rails - 应用 AWS SSL 证书后的负载均衡器健康检查

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:49 25 4
gpt4 key购买 nike

我创建了一个带有自动缩放组的负载均衡器。在我应用 SSL 证书并将流量重定向到 HTTPS 之前,它工作得非常好。负载均衡器运行状况检查是 http 一次,我无法将该检查移至 https,因为证书已应用于负载均衡器。所以当前的堆栈是 Rails 4.2,操作系统是 ubuntu,http entertainer 是 nginx,我有 5 个实例在 Load Balancer 上运行。所以我在 nginx 上创建了一个重定向,如下所示

if ($scheme = http) {
return 301 mydomain.com$request_uri;
}

然后我试了一下

if ($request_uri != "/public/health.html" ) {
set $balancer P;
}
if ($scheme = http) {
set $balancer "${balancer}C";
}
if ($balancer = PC) {
return 303 mydomain.com$request_uri;
}

由于这些重定向,我的网站出现故障,在浏览器上我遇到了多次重定向错误。这个问题让我发疯。请帮忙。非常感谢您的帮助。谢谢

最佳答案

我的 tomcat 服务器(实例)和 Apachae 服务器(负载平衡器)遇到了完全相同的问题。我也在浏览器中获得多个重定向。我做了两件事:

  1. 更改了负载平衡器监听器: http redirection to http and https redirection to https
  2. 在 apache 配置中做了一些改动:

LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule ssl_module modules/mod_ssl.so
听443

<VirtualHost *:80>
<Proxy *>
Order deny,allow
Allow from all
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ https://www.example.com/ [L,R=301]
</Proxy>

RequestReadTimeout header=35 body=35

ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on

ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>

<VirtualHost *:443>

RequestReadTimeout header=35 body=35

ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on

SSLEngine on
SSLCertificateFile /path/where/cert/stored/2_example.com.crt
SSLCertificateKeyFile /path/where/cert/stored/private-key.pem
SSLCertificateChainFile /path/where/cert/stored/1_root_bundle.crt

ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>

我保持端口 80 打开以进行健康检查,并保持端口 443 用于站点。此配置可能对您有所帮助。如果您能够解决您的问题,请告诉我。

关于ruby-on-rails - 应用 AWS SSL 证书后的负载均衡器健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38604743/

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