http-прокси nginx к https с самозаверяющим сертификатом

17

У меня есть прокси nginx для перенаправления http-запросов с указанным портом на другой https URL.

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

server {
   listen 59848;
   location / {
      resolver 8.8.8.8;
      proxy_pass https://example.com$uri$is_args$args;
   }
}

Обратите внимание, что «example.com» используется только для этого примера, и позже я ограничу отправку запроса только с localhost.

Это прекрасно работает, если сервер за URL-адресом «proxy_pass» использует действительный сертификат SSL, подписанный хорошо известным центром сертификации (этот корневой сертификат каким-то образом используется nginx).

Но у меня проблема в том, что мне нужно использовать собственный самозаверяющий SSL-сертификат клиента на стороне nginx. Кто-нибудь знает, как установить этот самозаверяющий сертификат в nginx?

Jakob
источник
Ты сделал эту работу? Я попробовал вашу и аналогичную конфигурацию, но в любом случае клиент не может подключиться из-за того, что сервер вообще не прослушивает указанный порт. Только эта serverдиректива не работает. Но nginx запускается и слушает другие порты, указанные в конфиге.
4xy

Ответы:

15

nginx позволяет использовать самозаверяющие сертификаты по умолчанию:

Syntax:     proxy_ssl_verify on | off;
Default:    proxy_ssl_verify off;
Context:    stream, server
Enables or disables verification of the proxied server certificate. 

удалите proxy_ssl_verifyдирективу или установите ее на off.
Подробнее об этом
читайте здесь: https://www.nginx.com/resources/admin-guide/nginx-tcp-ssl-upstreams/
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_verify

неназванный
источник