Использование Nginx в качестве обратного прокси-сервера HTTPS

Я пытаюсь настроить сервер Nginx для обратного прокси-сервера веб-службы tomcat (которого у меня нет доступ к). По сути, это потому, что на сервере Tomcat работает TLSv1.0, поэтому я пытаюсь увеличить версию.

Однако, когда я пытаюсь получить доступ к прокси, я получаю ошибку 502. Журналы Ngnix показывают - SSL_do_handshake () не удалось (SSL: ошибка: 140770FC: подпрограммы SSL: SSL23_GET_SERVER_HELLO: неизвестный протокол) во время установления связи SSL с восходящим потоком .

Вот моя конфигурация Nginx -

ssl_certificate  /etc/nginx/certs/public.pem;
ssl_certificate_key  /etc/nginx/certs/private.key;
ssl_session_timeout  5m;
ssl_prefer_server_ciphers  on;
ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers  AES256+EECDH:AES256+EDH:!aNULL;

server {
    listen 6003;
    server_name example.com;
    ssl on;
    location / {
        proxy_pass https://example.com:6003;
    }
}

I ' Я пробовал то же самое с Apache, но увидел точно такую ​​же ошибку. У кого-нибудь есть идеи?

2
задан 1 March 2018 в 15:53
1 ответ

Это аналогичный ответ nginx в качестве обратного прокси с восходящим SSL . Существуют отдельные настройки ssl для установки приемлемых протоколов для вашего прокси-сервера.

...

server {

    listen 6003;
    server_name example.com;
    ssl on;
    ssl_certificate  /etc/nginx/certs/example.pem;
    ssl_certificate_key  /etc/nginx/certs/private.key;
    ... other settings

    location / {
        proxy_pass https://example.com:6003;
        proxy_ssl_trusted_certificate /etc/nginx/certs/example.pem;
        proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    }
}

Три перечисленных значения для proxy_ssl_protocols являются текущими настройками по умолчанию, но они, вероятно, могут быть изменены в будущих выпусках для удаления TLSv1 и TLSv1.1.

1
ответ дан 3 December 2019 в 12:33

Теги

Похожие вопросы