nginx http до https-проксі із сертифікатом самопідписання


17

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

Ось моя конфігурація поки що:

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, підписаний добре відомим органом CA (який кореневий сертифікат якимось чином використовується nginx).

Але у мене проблема, що мені потрібно використовувати спеціальний самопідписаний сертифікат клієнта SSL на стороні nginx. Хтось знає, як встановити цей самопідписаний сертифікат на nginx?


Ви зробили цю роботу? Я спробував вашу та подібну конфігурацію, але все одно клієнт не може підключитися через те, що сервер взагалі не слухає вказаний порт. Тільки ця serverдиректива не працює. Але nginx запускається і прослуховує інші порти, вказані в config.
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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.