Рейтинг:0

Псевдоним Apache игнорируется при использовании с ProxyPass

флаг cn

я пытаюсь установить Йоттер на моем сервере, и я хочу использовать apache вместо nginx. инструкция по установке перечисляет только файл конфигурации nginx, который я пытаюсь «перевести».

В конфиге три разных прокси-маршрута, первый ведет к докер-контейнеру, второй (/статический/) в каталог с таблицами стилей и тому подобным, а последний — в сокет домена unix.

В моем случае первый маршрут работает (я могу получить доступ к сайту), но каждый запрос к статическому ресурсу возвращает 404. Похоже, что каждый запрос использует директиву Docker ProxyPass (независимо от порядка: если я поставлю этот последний (см. ниже), он до сих пор используется только один).

Это (часть) созданного файла журнала:

yotter.domain.tld - - [12/Aug/2021:21:14:21 +0200] "GET /static/favicons/favicon.ico HTTP/1.1" 404 1935 file=proxy:http://127.0.0.1: 5000/static/favicons/favicon.ico
yotter.domain.tld - - [12/Aug/2021:21:15:54 +0200] "GET /index HTTP/1.1" 200 1126 file=proxy:http://127.0.0.1:5000/index
yotter.domain.tld - - [12/Aug/2021:21:15:54 +0200] "GET /static/semantic/semantic.min.css HTTP/1.1" 404 1935 file=proxy:http://127.0. 0.1:5000/статический/семантический/семантический.min.css

Что может быть причиной этого?

Это конфигурация nginx:

сервер {
    слушать 80;
    имя_сервера <example.com>; # Измени меня
    доступ_лог выключен;

    место расположения / {
        прокси_пароль http://127.0.0.1:5000;
        прокси_http_версия 1.1;
        proxy_set_header Соединение "";
    }

    местоположение /статическое/ {
        корень /home/ubuntu/Yotter/app/; # Измените это в зависимости от того, где вы клонируете Yotter
        отправить файл включен;
        потоки aio=по умолчанию;
    }

    местоположение ~ (^/videoplayback$|/videoplayback/|/vi/|/a/) {
        proxy_pass http://unix:/var/run/ytproxy/http-proxy.sock;
        add_header Access-Control-Allow-Origin *;
        отправить файл включен;
        tcp_nopush включен;
        aio_записать;
        потоки aio=по умолчанию;
        направление 512;
        прокси_http_версия 1.1;
        proxy_set_header Соединение "";
    }
}

И вот что у меня пока есть:

<VirtualHost *:443>
        ServerName yotter.domain.tld

        LogFormat "%v %l %u %t \"%r\" %>s %b file=%f" commonvhost
        CustomLog ${APACHE_LOG_DIR}/yotter_access.log commonvhost

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem

        <Location "/">
                ProxyPass http://127.0.0.1:5000/
                ProxyPassReverse http://127.0.0.1:5000/
        </Location>


        <Location "/static">
                Alias "/var/www/Yotter/app/static"
        </Location>

        <Directory "/var/www/Yotter/app/">
                Require all granted
        </Directory>


        <LocationMatch (^/videoplayback$|/videoplayback/|/vi/|/a/)>
                ProxyPass unix:///var/run/ytproxy/http-proxy.sock
                ProxyPassReverse unix:///var/run/ytproxy/http-proxy.sock
                Header add Acces-Control-Allow-Origin: *
        </LocationMatch>

</VirtualHost>

или же

<VirtualHost *:443>
        ServerName yotter.domain.tld

        LogFormat "%v %l %u %t \"%r\" %>s %b file=%f" commonvhost
        CustomLog ${APACHE_LOG_DIR}/yotter_access.log commonvhost

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem


        Alias "/static" "/var/www/Yotter/app/static"

        <Directory "/var/www/Yotter/app/">
                Require all granted
        </Directory>


        <LocationMatch (^/videoplayback$|/videoplayback/|/vi/|/a/)>
                ProxyPass unix:///var/run/ytproxy/http-proxy.sock
                ProxyPassReverse unix:///var/run/ytproxy/http-proxy.sock
                Header add Acces-Control-Allow-Origin: *
        </LocationMatch>


        ProxyPass / http://127.0.0.1:5000/
        ProxyPassReverse / http://127.0.0.1:5000/

</VirtualHost>

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.