Я успешно установил приложение Perl в свой стек Ubuntu 20.4 LEMP и могу получить к нему доступ: http://example.com:5762/login.pl
и http://example.com:5762/setup.pl
Я хочу установить и получить доступ к программному обеспечению через подкаталог в фу
папка: пример.com/foo
Я изменил файл конфигурации, но когда я нажимаю на него, я получаю сообщение об ошибке, например, страница не найдена. эта страница и я не могу получить доступ к программному обеспечению по URL-адресу подкаталога. Мой файл конфигурации Nginx находится ниже. Чего мне не хватает, чтобы иметь доступ к приложению через URL-адрес подкаталога: пример.com/foo
?
## Файл конфигурации Nginx
# Вам следует просмотреть следующие URL-адреса, чтобы получить четкое представление
# файлов конфигурации Nginx, чтобы полностью раскрыть всю мощь Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# В большинстве случаев администраторы удалят этот файл с сайтов с поддержкой/ и
# оставить его как ссылку на доступных сайтах, где он и дальше будет
# обновлено командой упаковки nginx.
#
# Этот файл будет автоматически загружать файлы конфигурации, предоставленные другими
# приложения, такие как Drupal или Wordpress. Эти приложения будут сделаны
# доступен по пути с этим именем пакета, например /drupal8.
#
# Более подробные примеры см. в /usr/share/doc/nginx-doc/examples/.
##
# Конфигурация сервера по умолчанию
#
сервер
{
слушать 80 ;
слушать [::]:80 ;
# конфигурация SSL
#
# слушать 443 ssl default_server;
# слушать [::]:443 ssl default_server;
#
# Примечание. Вы должны отключить gzip для трафика SSL.
# См.: https://bugs.debian.org/773332
#
# Прочтите ssl_ciphers, чтобы обеспечить безопасную конфигурацию.
# См.: https://bugs.debian.org/765782
#
# Самоподписанные сертификаты, созданные пакетом ssl-cert
# Не используйте их на рабочем сервере!
#
# включить фрагменты/snakeoil.conf;
корень /var/www/example.com/html/root;
# Добавьте index.php в список, если вы используете PHP
индекс index.php index.html index.htm index.nginx-debian.html;
имя_сервера example.com www.example.com;
место расположения /
{
# Сначала пытаемся обслужить запрос как файл, затем
# в качестве каталога, затем вернуться к отображению 404.
try_files $uri $uri/ /index.php?$args;
}
# передать PHP-скрипты на сервер FastCGI
#
расположение ~ \.php$
{
включить фрагменты/fastcgi-php.conf;
#
# # С php-fpm (или другими сокетами unix):
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
# # С php-cgi (или другими сокетами tcp):
# fastcgi_pass 127.0.0.1:9000;
}
# запретить доступ к файлам .htaccess, если корневой каталог Apache
# совпадает с Nginx
#
расположение ~ /\.ht
{
отрицать все;
}
## Я добавил этот блок для доступа к приложению Perl в подкаталоге /foo
местоположение /foo/
{
корень /var/www/example.com/html/root;
try_files $uri $uri/ @starman;
}
# Файлы конфигурации не существуют
местоположение
{
# Если вы изменили порт в служебном файле Starman, измените его и здесь
прокси_пароль http://localhost:5762;
proxy_set_header Хост $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_cookie_path ~^/$ /foo/;
}
}
# Конфигурация виртуального хоста для example.com
#
# Вы можете переместить это в другой файл в разделе sites-available/ и указать символическую ссылку, которая
# на site-enabled/, чтобы включить его.
#
# сервер {
# слушать 80;
# слушать [::]:80;
#
# имя_сервера example.com;
#
# корень /var/www/example.com;
# индекс index.html;
#
# место расположения / {
# try_files $uri $uri/ =404;
# }
#}