После настройки обратного прокси-сервера Apache домашняя страница по умолчанию станет недействительной - PullRequest
0 голосов
/ 17 декабря 2018

Моя серверная среда - Apache, версия - Apache / 2.4.18 (Ubuntu)

Файл конфигурации сайта выглядит следующим образом:

<VirtualHost *:80>
    DirectoryIndex index.html index.php

    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/$1 -d
    RewriteRule (.*) - [END]
    # Else proxy
    RewriteRule ^/(.*)$ http://127.0.0.1:60000/$1 [P,QSA]
    ProxyPassReverse / http://127.0.0.1:60000/
    ProxyPreserveHost On
</VirtualHost>

Когда я получаю доступ к каталогу только сфайл index.php, это будет обратный прокси , Не анализировал index.php

Если я изменю DirectoryIndex на index.php index.html, проблема будет решена, но вышеупомянутая проблема возникнет в индексе.html.

И когда я удаляю обратный прокси-сервер, оба index.php и index.html будут нормальными и не будут зависеть от порядка.

Таким образом, проблема может быть в следующем: ApacheПервый DirectoryIndex распознает только тогда, когда существует обратный прокси-сервер, и, если он не существует, он обратится к прокси-серверу вместо того, чтобы пытаться установить домашнюю страницу по умолчанию за ним.

Я надеюсь, что домашняя страница по умолчанию и обратный прокси-сервер могутмирно сосуществовать.Как с этим бороться?

1 Ответ

0 голосов
/ 18 декабря 2018

После нескольких исследований я попробовал другие способы достижения своей функции.

<VirtualHost *:80>
    DirectoryIndex index.html

    RewriteEngine on
    #
    RewriteCond %{DOCUMENT_ROOT}/$1 -d
    RewriteCond %{DOCUMENT_ROOT}/$1/index.php -f
    RewriteRule ^/(.*)/$ /$1/index.php [P,END]
    #
    RewriteCond %{DOCUMENT_ROOT}/$1 -f [OR]
    RewriteCond %{DOCUMENT_ROOT}/$1 -d
    RewriteRule (.*) - [END]
    # Else proxy
    RewriteRule ^/(.*)$ http://127.0.0.1:60000/$1 [P,QSA]
    ProxyPassReverse / http://127.0.0.1:60000/
    ProxyPreserveHost On
</VirtualHost>

Как и в приведенной выше конфигурации, я сохраняю только домашнюю страницу по умолчанию и использую метод обратного прокси-сервера для реализации отображения другихдомашние страницы по умолчанию.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...