[英]Load Balancer Health Check After Applying AWS SSL certificates
我用自動縮放組創建了一個負載均衡器。 在我應用SSL證書並將流量重定向到HTTPS之前,它工作得非常好。 負載均衡器運行狀況檢查是http 1,我無法將該檢查移動到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服務器(負載均衡器)遇到了完全相同的問題。 我也在瀏覽器中獲得了多個重定向。 我做了兩件事:
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號站點。 此配置可能對您有所幫助。 如果你能解決問題,請告訴我。
你的nginx配置中的這樣的東西應該工作:
server {
listen 80;
server_name www.example.com;
location = /public/health.html {
return 200;
}
location / {
return 301 https://$http_host$request_uri;
}
}
非常簡短有效的解決方案,可在任何AWS設置上100%運行。 把它放在應用程序控制器中。
before_filter :move_to_https if RAILS.env == "production"
def move_to_https
redirect_to request.url.gsub("http","https") unless request.url.include?("https")
end
這會將任何域流量轉換為https,ip將永遠不會通過負載均衡器公開。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.