Как исправить PR_END_OF_FILE_ERROR при использовании nginx с ssl? - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь прокси-сервер HTTP через nginx. Служба прослушивает порт 8123, и я хочу прокси-сервер на 443. Я создал самозаверяющий сертификат, подобный этому:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Вот полная конфигурация nginx:

events {
        worker_connections 768;
}

http {
        server {
                listen 443 ssl http2;
                listen [::]:443 ssl http2;

                ssl_certificate         /home/mcmsadm/cert.pem;
                ssl_certificate_key     /home/mcmsadm/key.pem;

                location / {
                        proxy_pass http://localhost:8123;
                }
        }
}

Когда я пытаюсь подключиться к серверу, используя Firefox, появляется сообщение PR_END_OF_FILE_ERROR.

Что я делаю не так? Спасибо!

РЕДАКТИРОВАТЬ: Я нашел сообщение об ошибке nginx в журналах (не думал об этом):

SSL_CTX_use_PrivateKey_file("/home/mcmsadm/key.pem") failed 
(SSL: error:2807106B:UI routines:UI_process:processing error:while reading strings
error:0906406D:PEM routines:PEM_def_callback:problems getting password 
error:0907B068:PEM routines:PEM_read_bio_PrivateKey:bad password read 
error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)

Я создал сертификат с паролем, но nginx запрашивает его, когда я перезагружаю его через nginx -s reload. Чтобы временно решить эту проблему, я записал пароль в файл и добавил эту строку в свой nginx.conf:

ssl_password_file       /etc/nginx/pass;

Можно ли как-нибудь избежать ввода пароля в файл?

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