Я пытался использовать Scriptcase, работающий на порту 8091, через Nginx в качестве обратного прокси-сервера. Я думаю, что неправильно понимаю, что должно proxy_pass
сделать, потому что все, что я сделал до сих пор, не работает.
Самое близкое, что я подобрался к своей цели, — это искалеченная страница входа в приложение Scriptcase. Вот настройки:
...
местоположение /scd {
прокси_перенаправление выключено;
proxy_set_header Хост $host;
proxy_pass http://127.0.0.1:8091/scriptcase/devel/iface/login.php;
}
...
Насколько я знаю, после входа в систему, если представленная страница не была повреждена, доступ к файлу PHP будет index.php
. Но все, что я получаю, это поврежденная страница входа, которую я не могу использовать для выполнения процедуры входа.
Я понимаю и ожидаю, что proxy_pass
просто делегирует запросы. Поэтому, если я хочу получить доступ к приложению Scriptcase, я доберусь до него через https://myserver.com/scd
и я не увижу никаких изменений URL в адресной строке.
Также на покалеченной странице мне представлено, я вижу: Вы достигли лимита подключений по лицензии. Пожалуйста, выберите сеанс, который вы хотите отключить, чтобы войти в систему.
РЕДАКТИРОВАТЬ:
Мне удалось обслуживать приложение в корне с помощью /скд
,не так, как задумано, но приемлемо. Все, что мне нужно было сделать, это следующее:
местоположение /scd {
переписать /scd(.*) /$1 break;
прокси_пароль http://127.0.0.1:8091;
proxy_redirect ~^(/.*) https://myserver.com/scd$1;
}
Одна проблема возникла из-за этой установки. Теперь я не могу использовать местоположение ~ .php$
для обработки файлов PHP в обычном корневом каталоге для других приложений.