Мне нужно найти решение проблемы, описанной ниже (на обоих серверах работает CentOS 6)

Моя цель - сделать общедоступным веб-сайт, где клиент будет вводить собственное доменное имя mydomain.com, а затем этот сервер отобразит промежуточный сайт, расположенный по IP-адресу abcd (сайт закодирован как mydomain.com).

В реальном мире технически подкованный клиент изменит файл хоста Windows и укажет mydomain.com на abcd, но таких клиентов не так много, или у некоторых из них есть измерения безопасности, которые не позволяют изменить файл хоста.

Могу ли я сделать это с помощью прокси-сервера и измененного файла /etc /host, указывающего конкретное имя домена на правильный IP (пример)? Или мне нужно пойти другим путем? Идеальным выбором будет что-то вроде предложения Hide My Ass.

Спасибо за любую помощь.

1 ответ1

1

Вы можете настроить запись DNS, такую как staging.mydomain.com и заставить клиента посмотреть на это.

Другой способ - использовать mod_rewrite и mod_proxy на сервере, в этом случае вам не придется общаться с клиентом ...

В этом случае вы захотите сделать что-то вроде этого на сервере A:

NameVirtualHost *
<VirtualHost *>
    ServerName owncloud.mydomain.com

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://192.168.0.10:80/
    ProxyPassReverse / http://192.168.0.10:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

В зависимости от вашего приложения вам может понадобиться использовать одно или все из следующего:

X-Forwarded-For - The IP address of the client.
X-Forwarded-Host - The original host requested by the client in the Host HTTP request header.
X-Forwarded-Server - The hostname of the proxy server.

Взгляните на документацию по mod_proxy для получения дополнительных советов и подсказок.

Рекомендации

Использование Apache с виртуальными хостами и mod_proxy

Источник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .