HTTP-сервер Nginx не может проходить через SSL-соединения (AFAIK), поэтому необходимо завершить SSL на этом сервере. Восходящее SSL-соединение устанавливается с помощью https://
в операторе proxy_pass
. Подробнее см. в этом документе .
Например:
server {
listen 443 ssl;
#decrypt downstream ssl
ssl_certificate /etc/ssl/certs/frontend.crt;
ssl_certificate_key /etc/ssl/certs/frontend.key;
location / {
#send to the dev server
proxy_pass https://192.168.1.2;
# Using `https` with an IP address, you will need to provide
# the correct hostname and certificate name to the upstream
# server. Use `$host` if it's the same name as this server.
proxy_set_header Host $host;
proxy_ssl_server_name on;
proxy_ssl_name $host;
}
#Serve custom error page
error_page 500 502 503 504 /custom_50x.html;
location = /custom_50x.html {
root /var/www/errors/html;
internal;
}
}
Директива proxy_ssl
относится только к потоковому серверу. Директивы proxy_ssl_certificate
относятся к проверке подлинности сертификата клиента, которая может вам потребоваться или не потребоваться. Кроме того, вы пропустили суффикс ssl
в операторе listen
. Подробнее см. в этом документе .