Назад | Перейти на главную страницу

Обратный прокси NGINX на корневом пути возвращает ошибки 401 и 404

Я использую NGINX для балансировки нагрузки кластера Docker Swarm в Digital Ocean. у меня есть swarmpit установлен, и я хочу использовать обратный прокси-сервер с сертификатом ssl и использовать настраиваемый порт, чтобы я мог получить к нему частный доступ и ограничить трафик.

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

Страница загружается, но кажется, что все, что находится не в корне, не загружается и выдает ошибку 404 или 401. В результате страница выглядит неработающей, загружается только контент корневого уровня.

Server Config

server {
    listen #### ssl;

    ssl_certificate /etc/letsencrypt/live/###.#####.###/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/###.#####.###/privkey.pem;

    include snippets/ssl-params.conf;
    include snippets/optimize-assets.conf;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'Upgrade';
        proxy_cache_bypass $http_upgrade;
        proxy_pass http://swarmpit;
    }
}

Upstream Block

upstream swarmpit {
    server ###.###.###.###:###;
    server ###.###.###.###:###;
    server ###.###.###.###:###;
    server ###.###.###.###:###;
    server ###.###.###.###:###;
}

У меня также есть много значений по умолчанию, установленных в файле nginx.conf, например

nginx.conf

...
    proxy_redirect          off;
    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_request_headers on;
...

Но я вижу

Несколько ошибок 404 и 401

Пример одного из 404 ответов

Request URL: https://###.#####.###:####/css/rc-slider.css
Request Method: GET
Status Code: 404 Not Found
Remote Address: ###.###.###.###:####
Referrer Policy: no-referrer-when-downgrade
Connection: keep-alive
Content-Length: 555
Content-Type: text/html
Date: Sat, 30 May 2020 05:50:54 GMT
Server: nginx/1.18.0
Accept: text/css,*/*;q=0.1
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Connection: keep-alive
Cookie: _ga=#####
DNT: 1
Host: ###.#####.###:####
Referer: https://###.#####.###:####/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 OPR/68.0.3618.125

Я не уверен, почему это не работает, но у меня закончилась помощь после большого количества поисков в Google, и я уверен, что это что-то, вероятно, простое. Любая помощь приветствуется.