Как сопоставить внешнюю подпапку с другой подпапкой сервера (LAN) в Apache (веб-панель CentOS)

1094
Žygimantas Markevičius
  • Система : CentOS 6.8 с веб-панелью Centos
  • Сервер : Apache
  • IP-адрес сервера : 10.0.0.150

У меня есть общедоступный URL-адрес, sub.domain.com/folderи мне нужно Proxy / Rewrite / Map to 10.0.0.253/folder.

Я хочу sub.domain.com/folderпоказать содержимое внутренней папки сервера. И я не хочу sub.domain.comчто-то показывать, должна работать только папка. Как я могу это сделать?

В большинстве примеров предполагается, что данная папка находится на localhostсервере. В моем примере Apache должен действовать как обратный прокси-сервер для связи между клиентами WAN и сервером LAN.

0

2 ответа на вопрос

1
Žygimantas Markevičius

Предыдущий ответ дал мне несколько советов, но, поскольку я использую Centos Web Panel, этот ответ направлен на эту систему.

Правильно для веб-панели Centos

Перекомпилируйте Apache в Centos Web Panel и включите следующие параметры:

--enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http 

Затем в конфигурации vhosts (в настройках Apache) добавьте это в vhost:

 <VirtualHost> .... ProxyPreserveHost On ProxyPass /folder/ http://IP/internal_folder/ ProxyPassReverse /folder/ http://IP/internal_folder/ </VirtualHost> 

Куда:

IP - IP-адрес или имя хоста сервера,

/ folder / - папка, которую вы хотите «сопоставить» (то есть: public - domain.com/folder/, внутренний сервер - IP / internal_folder /)

Примечание: не забудьте завершить / после папки или имени хоста.

0
nafas

НЕ 100%, но вы можете попробовать это:

попробуйте добавить следующее в /etc/apache2/sites-available/000-default.conf

 <VirtualHost> .... ProxyPreserveHost On ProxyPass /folder http://10.0.0.253/folder ProxyPassReverse /folder http://10.0.0.253/folder </VirtualHost> 

перезагрузите сервер и попробуйте получить доступ sub.domain.com/folder

НОТА:

вам может понадобиться установить и активировать его

установить:

aptitude install -y libapache2-mod-proxy-html libxml2-dev 

активировать:

a2enmod proxy a2enmod proxy_http a2enmod proxy_ajp a2enmod rewrite a2enmod deflate a2enmod headers a2enmod proxy_balancer a2enmod proxy_connect a2enmod proxy_html 

надеюсь, что это работает для вас, приятель.

РЕДАКТИРОВАТЬ (правильно для Centos Web Panel)

Перекомпилируйте Apache в Centos Web Panel и включите следующие параметры:

--enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http 

Затем в конфигурации vhosts (в настройках Apache) добавьте это в vhost:

 <VirtualHost> .... ProxyPreserveHost On ProxyPass /folder/ http://IP/internal_folder/ ProxyPassReverse /folder/ http://IP/internal_folder/ </VirtualHost> 

Куда:

IP - IP-адрес или имя хоста сервера,

/ folder / - папка, которую вы хотите «сопоставить» (то есть: public - domain.com/folder/, внутренний сервер - IP / internal_folder /)

Примечание: не забудьте завершить / после папки или имени хоста.

Спасибо, приятель, ты дал мне подсказку, и оказалось, что мне нужно перекомпилировать Apache, чтобы включить эти модули. Мне пришлось перекомпилировать его, потому что я использую Centos WebPanel. Žygimantas Markevičius 7 лет назад 0
@ ŽygimantasMarkevičius до тех пор, пока он работает, приятель :) nafas 7 лет назад 0
Основным был символ ** / ** после папки. '/ folder ** / **' 'ProxyPreserveHost On ProxyPass / mm / http://10.0.0.253/mm/ - главный каталог ProxyPassReverse / mm / http://10.0.0.253/mm/ ProxyPass / icons / http: / /10.0.0.253/icons/ - images ProxyPassReverse / icons / http://10.0.0.253/icons/ ProxyPass / http://10.0.0.253/mm/ - на всякий случай, если кому-то интересно поддомен. ProxyPassReverse / http://10.0.0.253/mm/ ' Žygimantas Markevičius 7 лет назад 0
Могу ли я отредактировать ваш ответ, чтобы включить правильные шаги? Так как это вполне конкретный случай, охватывающий среду Centos Web Panel. Žygimantas Markevičius 7 лет назад 0
@ ŽygimantasMarkevičius пойти на это, человек, сделать его полезным для всех. в этом весь смысл. tyvm nafas 7 лет назад 0
Должен ли я добавить его в качестве ответа, или он будет редактировать ваш ответ? Žygimantas Markevičius 7 лет назад 0
@ ŽygimantasMarkevičius, если мой ответ правильный, но нуждается в небольшом улучшении, отредактируйте его, в противном случае ответьте на вопрос и примите это. nafas 7 лет назад 0