nginx обратный прокси-поддомен в подпапку - PullRequest
0 голосов
/ 09 февраля 2020

Я не могу правильно настроить nginx для работы в качестве обратного прокси-сервера.

A У меня есть веб-сервер (apache) в моей локальной сети, на котором размещен "обычный" веб-сайт на главной / * Папка 1040 *. Существует также установка nextcloud в подпапке с именем nextcloud.

Я пытаюсь настроить сервер nginx, работающий в качестве обратного прокси-сервера с поддержкой SSL. Сервер nginx находится в той же локальной сети, что и веб-сервер apache.

У меня есть два домена, и я хотел бы заархивировать следующее:

  • mydomain.de -> " обычный веб-сайт (такой же, как доступ к http://WEBSERVERIP в моей локальной сети)
  • nextcloud.mydomain.de -> nextcloud веб-сайт (такой же, как доступ к http://WEBSERVERIP/nextcloud в моем LAN

Что работает до сих пор: я могу получить доступ к nextcloud, используя https://mydomain.de/nextcloud

Что я не могу получить на работе: Я не могу получить доступ к Установка nextcloud с использованием субдомена. Перенаправление не работает должным образом: оно перенаправляет https://nextcloud.mydomain.de на https://nextcloud.mydomain.de/nextcloud, возвращая с 404 (не найдено)

Здесь такое конфигурация nginx для субдомена nextcloud:

server {                                                                                                                                                                                                                                                                                                                   

server_name nextcloud.mydomain.de;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

location / {                                                                                                                                                                                                                                                                                                               
proxy_set_header Host $host;                                                                                                                                                                                                                                                                                               
proxy_set_header X-Real-IP $remote_addr;                                                                                                                                                                                                                                                                                   
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                                                                                                                                                                                                                                               
proxy_set_header X-Forwarded-Proto $scheme;                                                                                                                                                                                                                                                                                
proxy_pass http://<WEBSERVERIP>/nextcloud/;                                                                                                                                                                                                                                                                              
proxy_read_timeout 90;                                                                                                                                                                                                                                                                                                     
proxy_redirect off;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
}                                                                                                                                                                                                                                                                                                                          

    listen 443 ssl; # managed by Certbot                                                                                                                                                                                                                                                                                   
    ssl_certificate /etc/letsencrypt/live/mydomain.de/fullchain.pem; # managed by Certbot                                                                                                                                                                                                                           
    ssl_certificate_key /etc/letsencrypt/live/mydomain.de/privkey.pem; # managed by Certbot                                                                                                                                                                                                                         
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot                                                                                                                                                                                                                                                  
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot                                                                                                                                                                                                                                                    

}                                                                                                                                                                                                                                                                                                                          

server {                                                                                                                                                                                                                                                                                                                   
    if ($host = nextcloud.mydomain.de) {                                                                                                                                                                                                                                                                                   
        return 301 https://$host$request_uri;                                                                                                                                                                                                                                                                              
    } # managed by Certbot                                                                                                                                                                                                                                                                                                 



server_name nextcloud.mydomain.de;                                                                                                                                                                                                                                                                                        

listen 80;                                                                                                                                                                                                                                                                                                                 
    return 404; # managed by Certbot                                                                                                                                                                                                                                                                                       


} 

Что мне не хватает?

...