Перенаправить папку на другой сервер - PullRequest
1 голос
/ 09 марта 2010

Я знаю, что вы можете перенаправить субдомены на другой сервер, но можете ли вы сделать то же самое с папками?

Скажите, что у меня есть example.com.Я могу перенаправить mysubdomain.example.com на другой сервер, но могу ли я перенаправить example.com/mysubdomain на другой сервер?Я хотел бы разместить приложение rails в этой папке на сайте, на котором работает php, но при этом поддерживать хорошие рейтинги поисковых систем (не создавая поддомен, который, по моему опыту, распознается как другой сайт).Любая помощь?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 09 марта 2010

Как предположил Брок Бэтселл, решением может быть передача запросов через прокси. Такое поведение обычно встречается в веб-приложениях, которые используют длинные сервисы опроса, например чаты, и нуждаются в прокси этих сервисов на втором веб-сервере, чтобы уменьшить нагрузку на основной (обычно apache + lighhtpd)

Вот основное использование (при условии, что вы используете apache, а другой веб-сервер прослушивает порт 81):

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

ProxyRequests Off
ProxyPreserveHost On
proxypass /folder-to-proxy http://localhost:81/folder
proxypassReverse /folder-to-proxy http://localhost:81/folder

<Proxy http://localhost:81/>
    Order Allow,Deny
    Allow from all
</Proxy>

Просто замените localhost и номер порта вашим вторым хостом и портом сервера.

Обратите внимание, что даже если вам не требуется прокси-трафик ftp, в apache должен быть также включен proxy_ftp_module.

1 голос
/ 09 марта 2010

Это можно сделать только через прокси-сервер, который может перенаправлять все запросы в папку / mysubdomain на определенный IP-адрес и порт, получать ответ и затем прозрачно возвращать ответ пользователю.

Практически любой основной веб-сервер будет иметь модуль для этого, если у вас есть контроль над его файлом конфигурации. (Apache имеет mod_proxy, nginx имеет HTTP-прокси, lighttpd имеет свой собственный mod_proxy.)

...