Назад | Перейти на главную страницу

Настройка сложного обратного прокси-сервера Apache

Мы собираемся переместить веб-сайт на новый сервер с новым программным обеспечением, обычно это простое изменение, но у нас также есть голландская версия веб-сайта, работающая в папке / nl.

Мы хотели бы перенести домен www.example.com, чтобы он указывал на новый сервер, но любые запросы, сделанные в / nl и внутри, будут перенаправлены на dutch.example.com. Вот что у нас есть на данный момент.

    ProxyRequests Off

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

    ProxyPass /nl http://dutch.example.com/nl
    ProxyPassReverse /nl http://dutch.example.com/nl

Это становится более сложным, поскольку изображения для голландского сайта смешаны с изображениями для текущего сайта в Великобритании, эти изображения больше не будут существовать на новом сайте. Поэтому нам также нужны любые запросы / assets, которые будут обрабатываться прокси. Вдобавок ко всему, это веб-сайт электронной коммерции, поэтому все это должно быть возможно через SSL.

Это возможно?

Ваша помощь очень ценится

Предполагая, что у вас Apache в качестве внешнего интерфейса, а английский сайт и голландский сайт в качестве серверной части, попробуйте что-то вроде этого:

    NameVirtualHost *:80

    <VirtualHost *:80>
        ServerName multilanguage.example.com
        <Location /nl>
                ProxyPass http://dutch.example.com/nl
                ProxyPassReverse http://dutch.example.com/nl
        </Location>
        ProxyPass / http://eng.example.com/
        ProxyPassReverse / http://eng.example.com/
    </VirtualHost>

Эта конфигурация будет

  • Если ввести Multilanguage.example.com, он будет прокси на eng.example.com.
  • С Multilanguage.example.com/nl он будет прокси на dutch.example.com/nl

Вы можете легко добавить конфигурацию SSL, просмотрев файл ssl.conf.