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

403, только через шлюз (страница доступна непосредственно с исходного сервера локально и извне)

Я пытаюсь настроить дополнительный сервер Apache (в конечном итоге он станет только основным).

Рабочей установкой была Windows XP с Apache 2.2.6 (через Wampserver2) с 8 сайтами (виртуальными хостами), все работающие, как ожидалось. Хочу перейти на более современные приложения. С этой целью я пытаюсь преобразовать (своим запутанным способом) в более свежий компьютер под управлением Windows 7, на котором я установил Wampserver 2.5 и, следовательно, Apache 2.4.9. В качестве обучающего упражнения я хочу попробовать заставить оба сервера работать вместе, одновременно поддерживая все текущие сайты, и, похоже, использование шлюза может позволить это.

Итак, у меня сейчас есть Apache 2.2.6 в поле A (локальный IP-адрес 192.168.1.3) с портами пересылки маршрутизатора (NB604N) 80, 443 и 3306 на этот ящик / IP, при этом различные сайты работают нормально (локально и внешне).

Теперь у меня также есть Box B с Apache 2.4.9 с IP-адресом 192.168.1.2. Я добавил второй сайт в дополнение к оригиналу из коробки (e: wamp / wwww), для этого второго сайта я также установил домен.

То, что я тогда сделал, в поле A (apache 2.2.6) (какой будет сервер шлюза):

а) раскомментируйте модули mod_proxy согласно:

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
LoadModule headers_module modules/mod_headers.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.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
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule status_module modules/mod_status.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule php5_module "H:/wamp/bin/php/php5.2.6/php5apache2_2.dll"

б) Добавлены следующие виртуальные хосты: -

<VirtualHost *:80>
    ServerAdmin webmaster@mt.flnet.org
    Servername www.mt.flnet.org
    ProxyPass / http://192.168.1.2/
    ProxyPassReverse / http://192.168.1.2
</VirtualHost>

Я был действительно удивлен, поскольку вышеупомянутое, очевидно, работало с самого начала (я получал ошибку 502, но, похоже, это было из-за конечной / последней косой черты (/), которую я в конце концов попробовал. Под "вроде как работает" я имел в виду что явно было какое-то взаимодействие, поскольку страница 502 (а позже 403) будет отображать: -

  **Apache/2.4.9 (Win64) PHP/5.5.12 Server at 192.168.1.2 Port 80**

Преодолев это препятствие (поиск, чтение и затем несколько попыток) и добавление /, я получил 403. Я также пробовал ряд изменений, например, добавив (на сервер шлюза, да, вероятно, не следует быть от всех)

<Proxy *>
     Order Deny,Allow
    Allow from all
</Proxy> 

Я практически не изменил поле B, кроме добавления виртуальных хостов для сайта с установленным WAMP и еще одного для внешнего тестового сайта (например, www.mt.flnet.org). О, я неправильно прочитал документацию Apache и попытался настроить прокси-сервер и оставил загрузку модуля mod_proxy без комментариев (кроме балансировки, которая, как я был уверен, мне не нужна / не нужна).

Я также изменил переадресацию портов, чтобы указать порт 80 на ящик B (192.168.1.2), и тесты затем работали (тесты Website Plus показывают ОК, а не 403, а proxy.site отображает ожидаемую страницу). Также, если я изменю свой файл hosts (в третьем локальном поле) с

192.168.1.3 www.mt.flnet.org

к

192.168.1.2 www.mt.flnet.org

Я не понимаю 403.

Я предполагаю, что я относительно близок и, надеюсь, мне просто нужно где-то закодировать правильный авторитет. На самом деле я понятия не имею, где. Похоже, что это шлюз, который запрещает доступ, поскольку сообщения об ошибках находятся в журнале этого шлюза, а также исходный сервер работает нормально при прямом доступе.

Я должен сказать, что я довольно неопытен и просто занимаюсь этим в основном в качестве хобби, как я делал первоначально еще в 2007-2008 годах, когда у меня появился бокс А.

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

Мне удалось заставить это работать. Последнее изменение, которое я сделал, было добавление ProxyRequests отключен и ProxyPreserveHost On к конфигурации виртуального хоста.

Кроме того, до создания директив Proxyrequests и ProxyPreserveHost я переместил ..... на виртуальный хост, а также добавил директивы местоположения из (Профессиональные веб-мастера - Как мне настроить «шлюз» для определенного субдомена?). Однако эти изменения не повлияли на результаты. Конфигурация виртуальных хостов теперь зависит от: -

<VirtualHost *:80>
    ServerAdmin webmaster@mt.flnet.org
    Servername www.mt.flnet.org
    ProxyRequests     Off
    ProxyPreserveHost On
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
        ProxyPass / http://192.168.1.2/
        ProxyPassReverse / http://192.168.1.2
    <Location />
        Allow from all
    </Location>
</VirtualHost>