nginx 反向代理https

原来我用vertx创建了一个https apiserver,想着用nginx反向代理一下。证书是阿里云上免费一年的。

后来发现nginx要反向代理https自己也必须是https。这样我索性把vertx的ssl去掉了。直接用nginx的。

我的nginx的配置文件在/etc/nginx,可以用whereis nginx查看。

从阿里云下载证书for nginx

1.在目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。

2.修改配置文件

  server {
        listen       443 ssl;
        server_name  www.zyyapp.com;
    ssl_certificate   cert/2146842898821.pem;
    ssl_certificate_key  cert/214684289890721.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

        location / {
    #        root   html;
    #        index  index.html index.htm;

            proxy_pass  https://127.0.0.1:8080;
            ### force timeouts if one of backend is died ##
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

            ### Set headers ####
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            ### Most PHP, Python, Rails, Java App can use this header ###
            proxy_set_header X-Forwarded-Proto https;

            ### By default we don't want to redirect it ####
            proxy_redirect     off;

        }
    }

3.nginx -t 查看是否正确

4.如果是centos 7的话可以systemctl restart nginx 重启nginx




你可能感兴趣的:(nginx)