Потребовалось несколько дней, чтобы устранить эту проблему, но я не смог найти решение в поисковой системе с моей базой знаний для новичков.
Что я пытаюсь сделать: Доступ к обратному прокси url / nextcloud на localhost, но сохранение / nextcloud / в поле зрения пользователя. то есть url / nextcloud / login внутри будет localhost / login в файле конфигурации nextcloud.
Ожидание: Как "nextcloud" файл конфигурации измените root с / var / www / на / var / www / nextcloud, url / nextcloud / login будет прокси-сервером на localhost / login, фактически / var / www / nextcloud / login.
Результат я всегда получаю: url / nextcloud возвращает url / login, он же url / var / www / login, а не url / var / www / nextcloud / login
Ниже приведен мой код обратного прокси nginx, а код nextcloud использует конфигурацию в Документация Nextcloud. Обратный прокси передает nextcloud на 127.0.0.1:5141, а конфигурация Nextcloud прослушивает 127.0.0.1:5141. Извините, я не могу предоставить точную конфигурацию nextcloud, так как мой сервер сегодня отключился.
server {
listen 80;
listen [::]:80;
server_name MY_DOMAIN_HERE;
# enforece https
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name MY_DOMAIN_HERE;
ssl_certificate /etc/letsencrypt/live/MY_DOMAIN_HERE/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/MY_DOMAIN_HERE/privkey.pem;
root /var/www/;
location /nextcloud/ {
# rewrite ^/nextcloud/(.*)$ $1 break;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:5141/;
proxy_set_header Host MY_DOMAIN_HERE;
}
location /noVNC/ {
proxy_pass http://127.0.0.1:5142;
}
location /shell/ {
proxy_pass http://127.0.0.1:4200;
}
location /files/ {
return 301 /;
proxy_pass http://127.0.0.1:5143;
}
#location / {
# proxy_pass http://127.0.0.1:5143;
#}
}