Как мне узнать, что ELB прислал мне traffi c? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть 2 кластеризованных экземпляра EC2 с 2 классами c Один ELB предназначен для DNS xxx.com, а другой - для xxx. net. Оба указывают на один и тот же кластер экземпляров EC2. Мое приложение должно знать, поступил ли входящий запрос с .com или. net URL.

Проблема в том, что технически ELB перенаправляет запрос, поэтому я теряю его в заголовке. Я могу получить IP-адрес ELB, но Amazon время от времени отбрасывает ELB и дает нам новый с другим IP, так что он работает некоторое время, а затем выходит из ниоткуда.

Предлагает ли Amazon предложение что-то вроде "stati c" ELB? Я ничего не могу найти, поэтому предполагаю, что нет.

Есть ли другой способ обойти это?

1 Ответ

0 голосов
/ 03 апреля 2020

Моему приложению необходимо знать, поступил ли входящий запрос от .com или URL. net.

Прочитать это из входящего заголовка HTTP Host. Если он не содержит одно из двух ожидаемых значений, выведите ошибку (503, 421, что бы ни имело смысл) и ничего не рендерит.

Проблема в том, что технически ELB перенаправляет запрос, поэтому я теряю его в заголовке.

Я не знаю, что этот оператор предназначен для передачи. Заголовок Host устанавливается пользовательским агентом и не изменяется ELB, поэтому ваше приложение может прочитать его из входящего запроса.

Вы не должны искать внутренний IP-адрес ELB ни для чего, кроме как для регистрации его для корреляции / устранения неполадок, если это необходимо.

Конечно, вам также не нужны 2 Classi c ELB для этого приложения. Вы можете использовать один балансировщик classi c с одним сертификатом, содержащим оба домена, или один балансировщик нагрузки приложения с комбинированным или двумя отдельными сертификатами.

...