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

ProxyPass не работает (ошибок нет)

Я пытаюсь перенаправить один из моих доменов apache на другой порт (на котором размещено приложение rails с поддержкой Nginx)

В моем http.conf для конкретного виртуального хоста у меня есть:

<VirtualHost x.x.x.x:80 [2407:e700:0002:0000:0000:0000:c4b3:36fb]:80>
    ServerName subdomain.domain.com.au
    ServerAlias www.subdomain.domain.com.au
    DocumentRoot /home/user/public_html/app
    ServerAdmin webmaster@subdomain.domain.com.au
    UseCanonicalName Off
    CustomLog /usr/local/apache/domlogs/subdomain.domain.com.au combined
    CustomLog /usr/local/apache/domlogs/subdomain.domain.com.au-bytes_log "%{%s}t %I .\n%{%s}t %O ."
    ## User user # Needed for Cpanel::ApacheConf
    UserDir enabled user
    <IfModule mod_suphp.c>
        suPHP_UserGroup user user
    </IfModule>
    <IfModule concurrent_php.c>
        php4_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
        php5_admin_value open_basedir "/home/user:/usr/lib/php:/usr/local/lib/php:/tmp"
    </IfModule>
    <IfModule !concurrent_php.c>
        <IfModule mod_php4.c>
            php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
        </IfModule>
        <IfModule mod_php5.c>
            php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/local/lib/php:/tmp"
        </IfModule>
        <IfModule sapi_apache2.c>
            php_admin_value open_basedir "/home/user:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:/tmp"
        </IfModule>
    </IfModule>
    <IfModule !mod_disable_suexec.c>
        <IfModule !mod_ruid2.c>
            SuexecUserGroup user user
        </IfModule>
    </IfModule>
    <IfModule mod_ruid2.c>
        RMode config
        RUidGid user user
    </IfModule>
    <IfModule itk.c>
        # For more information on MPM ITK, please read:
        #   http://mpm-itk.sesse.net/
        AssignUserID user user
    </IfModule>

    ScriptAlias /cgi-bin/ /home/user/public_html/app/cgi-bin/






    Include "/usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au/*.conf"
</VirtualHost>

Затем у меня есть файл, расположенный в /usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au/*.conf со следующим:

ProxyPass / http://x.x.x.x:3013/
ProxyPassReverse / http://x.x.x.x:3013/
ProxyPreserveHost On
ProxyRequests Off

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

Что-то очевидно не так?

РЕДАКТИРОВАТЬ: Под неработающим я подразумеваю, что когда я перехожу к subdomain.domain.com.au, он показывает мне страницу с заголовком «Индекс /», в которой содержится папка cgi-bin, а нижний колонтитул сообщает мне, что «С гордостью обслуживается LiteSpeed Порт 80 веб-сервера ", поэтому он вообще не пересылается. Если бы он проходил правильно, я бы ожидал увидеть корневую страницу моего приложения rails.

Я не думаю, что ваш apache знает о существовании этого файла.

/usr/local/apache/conf/userdata/std/2_2/user/subdomain.domain.com.au

Указывает ли apache.conf, что apache должен локализоваться по этому пути?

Если ты бежишь

netstat -pan | grep СЛУШАТЬ

... порт отображается как прослушиваемый?

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

Если вы хотите перенаправить именно тот виртуальный хост, почему у вас весь этот мусор, почему не директивы прокси для этого поддомена?