Как установить Прокси Apache для маленького флота экземпляров EC2?

почему не просто отклоняют весь

server {
    listen       80 default_server;
    server_name  _;

    location / {
        deny    all;
    }
}
0
задан 28 January 2011 в 10:53
2 ответа

то, что Вы спросили, является очень общей ситуацией, где в приложениях может не работать на Шлюзе, и они могут работать на некотором сервере в LAN, но к миру кажется, что это прибывает из requested_url.com

Я выполняю 4 веб-сайта с апачским прокси модификации, и по крайней мере 15 различных сервисов на эти 4 различных веб-сайта зависят от них. У меня нет опыта Amazon EC2, но Amazon, EC2 использует Xen в качестве своего бэкенда. Давайте скажем, что основная машина, которая стоит перед Интернетом и имеет общедоступный IP быть названной dom0, теперь считанным в следующей терминологии

Dom0  with IP      192.168.0.100 (This will be our Server facing internet)
DomU1 with IP      192.168.0.11
DomU2 with IP      192.168.0.12
DomU3 with IP      192.168.0.13
DomU4 with IP      192.168.0.14

Я предполагаю, что у Вас есть локальный DNS на Dom0 (или некоторые, где в Вашей сети), который знает дюйм/с DomU с именами. (Если не жизнь будет трудной), затем в apache2.conf (httpd.conf в системах типов Fedora)

NameVirtualHost *
    <VirtualHost *>
      ServerName mainserver
            DocumentRoot /var/www
      ProxyRequests Off
           <Proxy *>
     Order deny,allow
           Allow from all
     </Proxy>
         ProxyPass /domu1  http://192.168.0.11/
         ProxyPass /domu2  http://192.168.0.12/
         ProxyPass /domu3  http://192.168.0.13/
         ProxyPass /domu4  http://192.168.0.14/
         ProxyPassReverse /domu1  http://192.168.0.11/
         ProxyPassReverse /domu2  http://192.168.0.12/
         ProxyPassReverse /domu3  http://192.168.0.13/
         ProxyPassReverse /domu4  http://192.168.0.14/
    </VirtualHost>

Таким образом, является один способ достигнуть вещей, которые Вы спросили (как когда-либо не очень рекомендуемый) при обновлении сервера (т.е. Dom0) май обновления по записи apache2.conf или httpd.conf, что когда-либо иметь место. Таким образом, после того как Вы понимаете то, что вышеупомянутые записи означают (Проверьте его на свои требования, я боролся долгое время назад с некоторой вещью, подобной, Вы хотите следовательно, я дал легкое решение, но не рекомендовал). После того как Вы понимаете, что вышеупомянутые ProxyPass затем создают различные Виртуальные конфигурации Хоста в доступном сайтам каталоге, если это будет система Ubuntu/Debian, или в Red Hat базировался, то это будет все еще возможно (необходимо будет искать), я показываю Вам один, таким образом, это помогает Вам отдохнуть 4-5, можно сделать самостоятельно
Назовите это/etc/apache2/sites-enabled/myinterna1.conf, это смотрит следующим образом

<VirtualHost *:80 >

        ServerName myserver1.com
        ServerAdmin webmaster@localhost

        ProxyRequests off
        <Proxy *>
        Order deny,allow
        Allow from all
        </Proxy>
        ProxyPreserveHost On


        ProxyPass / http://192.168.1.3/
        ProxyPassReverse / http://192.168.1.3/

        ErrorLog /var/log/apache2/server1/server1_error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/apache2/server1/server1_access.log combined
        CustomLog /var/log/apache2/server1/server1-resp_log resp
        LogFormat "%a %{X-Forwarded-For}i  %h %D %t %f %p %>s  %U %v" resp

</VirtualHost>

Вышеупомянутое virtualhost будет определено на Dom0 так, чтобы все запросы были поданы с внутреннего сервера server1.com. Путем это будет работать, кто-то в Интернете, введет в их браузере

 http://requested_url.com/domu1

Теперь этот запрос достигает Dom0 и Apache, Виртуальный Хост на Dom0 проверяет Конфигурацию Прокси и находит, что/domu1 отображается на внутреннем сервере так это вперед, что к машине, которая на самом деле должна служить. Пользователю в Интернете все это скрыто.

То, как когда-либо одно предостережение при выполнении так Apache в системе Ubuntu служит виртуальным хостам на алфавитное название vhost файла (не имя сервера, я отсылаю к названию файла как sorting.c Apache виртуальный файл хоста) (именно поэтому существует файл, с 000 значениями по умолчанию) в системах Ubuntu, так удостоверьтесь, что у Вас есть один хост больше, чем количество веб-сайтов, которым необходимо служить (который будет служить ошибочной страницей).This является стандартной практикой.

1
ответ дан 23 November 2019 в 12:40

Почему бы не выполнить их всех на том же IP-адресе и Apache использования виртуальный хостинг (т.е. Заголовок хоста основывал виртуальный хостинг), чтобы иметь веб-сервер выбирают правильный сайт на основе на запрос?

Это только использовало бы один IP-адрес, и выравнивание нагрузки Amazon могло сделать остальных.

0
ответ дан 23 November 2019 в 12:40

Теги

Похожие вопросы