У меня есть несколько серверов приложений, работающих как экземпляры EC2. Только определенным серверам без операционной системы, работающим в другом месте, позволяют связаться с ними, и их дюйм/с добавил в белый список явно в httpd.conf @the серверы приложений.
Я хочу переместить серверы приложений позади ELB в целях выравнивания нагрузки, теперь я читал о заголовке X-Forwarded-For, который будет передан серверу приложений от ELB и на основе которого может позволить определенного дюйм/с. Мой вопрос состоит в том, как я настраиваю это?
В настоящее время моя апачская конфигурация на сервере приложений похожа на это:
<VirtualHost *:80>
ServerAdmin abc@foo.com
ServerName bar.foo.in
DocumentRoot /home/foo/bar
<Directory /home/foo/bar>
Options Indexes Multiviews FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from X.X.X.X Y.Y.Y.Y Z.Z.Z.Z A.A.A.A
</Directory>
Я думаю об использовании директивы SetEnvIf позволять дюйм/с на основе значения X-Forwarded-For, но я не уверен в этом. Я имею следующие изменения в виду. Кто-то может проверить это, прежде чем я ввел это в эксплуатацию?
<VirtualHost *:80>
...................
....................
<Directory /home/foo/bar>
SetEnvIF X-Forwarded-For "X.X.X.X|Y.Y.Y.Y|A.A.A.A" AllowIP
Options Indexes Multiviews FollowSymLinks
AllowOverride All
Order Deny,Allow
Deny from all
Allow from env=AllowIP
</Directory>
Спасибо
Labākais veids, kā to izdarīt, būtu izlaist visus Apache konfigurācijas darbus un izmantot AWS VPC, lai veiktu ierobežojumus. Jūs varat izmantot ELBs drošības grupu, lai ienākošos pieprasījumus ierobežotu tikai ar šiem IP. Pēc tam iestatiet EC2 instanču drošības grupu pieņemt tikai HTTP savienojumus no ELB.
Tas dod jums nepieciešamo bez apgrūtinājumiem ar Apache konfigurāciju, un to ir vieglāk un ātrāk pārvaldīt, ja jums kādreiz ir jāmaina lietas.