我有,我們在相同的EC2實例運行的兩個系統,並使用AWS彈性負載均衡,爲一個系統發送請求到端口81Apache的mod_rewrite的重寫規則在端口錯誤地將AWS
因此,例如一個問題,我們擁有www.example.com和bookings.example.com,其中AWS Elastic Load Balancer發送預訂請求。儘管我們的端口80上的我們的EC2箱,並要求www。得到的81端口
客戶連接到www.example.com上的端口80,但隨後從負載平衡器獲取對服務器上的81端口
當我們例如添加此規則到,雖然發.htaccess的www網站我們遇到了81端口出現的問題。
RewriteRule ^index.html/[R=301,L,QSA] !-s
#Results in customer being sent to http://www.example.com:81/
如何確保端口81不會推回給客戶?
我想出了這樣的選擇:
RewriteRule ^index.html http://%{HTTP_HOST}/ [R=301,L,QSA] !-s
但在這個例子中HTTP是硬編碼的,我需要做的是變量,以便在需要的時候也可以是HTTPS。我也有更多的只是這個index.html規則,重定向回到/我有大約30條規則,並認爲應該有一個班輪將此通過端口81修復回客戶。
感謝您的建議。我怎麼能做到這一點,但在ServerName行沒有硬編碼的域名。我有大約50多個域名指向負載均衡器和這些Apache服務器。 – hpoom
感謝您的補充評論。我有RewriteRule示例工作,但仍然希望在虛擬主機中解決它,因爲這接近了更清晰的方式來處理這個問題。有什麼辦法可以用Virtual Host示例支持多個域? – hpoom