I have an nginx proxy to redirect http requests with a specified port to another https url.

Here is my configuration so far:

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

Note that "example.com" is only used for this example and later I will restrict the request to be sent only from localhost.

This works just fine, as long as the server behind the "proxy_pass" url uses a valid SSL certificate signed by a well known CA Authority (which root certificate somehow used by nginx).

But I have the problem that I have to use a custom self-signed SSL client Certificate on the nginx-side. Does somebody know how to install this self-signed certificate to nginx?

  • Did you make this work? I tried your and similar configuration, but anyway client can't connect due to server doesn't at all listen the port specified. Only this server directive doesn't work. But nginx starts and listen to another ports specified in config. – 4xy May 19 '18 at 14:04

nginx allows usage of self-signed certificates by default:

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

remove the proxy_ssl_verify directive or set it to off.
Read more about it here:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.