У меня проблема с запуском двух систем в одном экземпляре EC2 и использованием AWS Elastic Load Balancer для отправки запроса одной системы на порт 81.
Так, например, у нас есть www.example.com и bookings.example.com, где AWS Elastic Load Balancer отправляет запросы на бронирование. хотя к нашим коробкам EC2 на порт 80 и запрос на 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 обратно к клиенту.