Как я могу заставить nginx использовать мой сертификат?

Мне нужно настроить обратный прокси на nginx, который разрешает https. Предполагается, что это будет работать следующим образом:

  1. Клиент подключается к сайту (порт 80);
  2. Обратный прокси-сервер перенаправляет его на порт 443;
  3. Обмен данными зашифрован с использованием моего сертификата;
  4. Затем клиентский запрос передается через proxy_pass на другой сайт.

Моя проблема в 3 и 4. Моя конфигурация успешно выполняет все это и перенаправляет на сайт, который должен быть, но вместо использования моего сертификата он использует сертификат сайт, на который я перенаправляюсь.

Конфигурация:

server {
    listen 80;
    server_name example.com;
    return 301 https://$server_name:443;
} 

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com;

    ssl_certificate /path/to/cert.crt;
    ssl_certificate_key /path/to/key.key;

    location {
        proxy_pass https://another-site.com;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Как я уже сказал, это работает, но не использует сертификат, который я указал в этой конфигурации.

0
задан 19 June 2019 в 01:41
2 ответа

я думаю, вы должны поместить в него больше конфигураций

, например

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;

ssl on;
ssl_certificate /path/to/cert.crt;
ssl_certificate_key /path/to/key.key;
keepalive_timeout    50;
ssl_session_timeout  10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:AES256-SHA:AES;  #Check ciphers at http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparams_4096.pem; check dhparams at nginx documentation  
ssl_session_cache shared:ssl_session_cache:20m;

}

0
ответ дан 23 November 2019 в 23:21

Думаю, я разобрался. Конфигурация правильная, и она работает, проблема в том, что сайт, на который я перенаправляю трафик, также обертывает трафик своим собственным сертификатом, поэтому похоже, что я не использую свой собственный. Я понял это, пытаясь перенаправить трафик на другой сайт

0
ответ дан 23 November 2019 в 23:21

Теги

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