Dockerized обратный прокси Nginx для приложения NodeJS не возвращает PDF - PullRequest
1 голос
/ 24 октября 2019

У меня есть докеризованный обратный прокси-сервер Nginx для приложения nodejs, которое должно обслуживать сгенерированные PDF-файлы на основе введенных данных.

Вот текущее состояние nginx.conf

# nginx.conf

server {
    listen       80;
    server_name  localhost;
    root         /usr/share/nginx/html;
    include      /etc/nginx/mime.types;

    # bot
    location / {
        proxy_pass http://frontend:80;
        proxy_http_version 1.1;
        proxy_set_header X-Forwareded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_buffering off;
    }

    location /api {
        proxy_pass http://backend:3000;
        proxy_http_version 1.1;
        proxy_set_header X-Forwareded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_buffering off;
    }

    location /socket.io {
        proxy_pass http://backend:3000;
        proxy_http_version 1.1;
        proxy_set_header X-Forwareded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_buffering on;
        proxy_buffer_size 8k;
        proxy_buffers 8 8k;
    }

    location /files {
        proxy_pass http://backend:3000;
        proxy_http_version 1.1;
        proxy_set_header X-Forwareded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_buffering on;
        proxy_buffer_size 8k;
        proxy_buffers 8 8k;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}


В приложении узла правильный каталог сопоставлен с конечной точкой /file:

app.use('/files', express.static(path.join(__dirname, 'storage')));

Однако, при попытке загрузить PDF в браузер, я получаю следующее сообщение об ошибке:

Этот сайт не может предоставить безопасное соединение, локальный хост отправил неверный ответ.

ERR_SSL_PROTOCOL_ERROR

И в журналах контейнеров nginx отображаются:

172.23.0.1 - - [24 / Oct / 2019: 16: 42: 39 +0200] "\ x16 \ x03 \ x01 \x02 \ x00 \ x01 \ x00 \ x01 \ хк \ x03 \ x03 \ xF7 \ x01 \ Xbb \ x1e \ XD2 \ XAF * \ xB7 \ XFB \ xB96b4 \ Xee \ xEB \ xC9 \ x18u \ x94-`(\ Xba \xB9 '\ xC18o \ xA0n \ xA0 \ xDA \ xB2l ~ n \ xDFd \ xB9 \ x02C /] \ x9C3 \ xD5u \ x19 \ xA7 \ xE3c \ x1D \ xFD \ x06 \ xEBv \ x0B \ x88x \ x8FW x9x9\ x00 \ x22 \ XDA \ XDA \ x13 \ x01 \ x13 \ x02 \ x13 \ x03 \ xC0 + \ xC0 / \ xC0 \ xC00 \ XCC \ xA9 \ XCC \ xA8 \ xC0 \ x13 \ xC0 \ x14 \ x00 \ x9C\ x00 \ x9D \ x00 / \ x005 \ x00 "400 157" - "" - "" - "

Цель состоит в том, чтобы иметь возможность протестировать все на локальном хосте (следовательно, без SSL), производствосреда, вероятно, будет включать в себяn дополнительный обратный прокси-сервер Nginx перед этим, который обрабатывает сертификаты и т. д.

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

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...