我知道NGINX不应该被用作转发代理但是我有要求这样做......无论如何,显然不是很难让http作为转发代理工作但是在尝试时出现问题配置https。我生成了一些自签名证书,然后尝试连接到https://www.google.com,它给了我错误ERR_TUNNEL_CONNECTION_FAILED。这个问题与我的证书有某种关系,但我不知道如何解决这个问题。有谁知道如何实现这个功能?
这是我的配置
server {
listen 443 ssl;
root /data/www;
ssl on;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/certs/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
resolver 8.8.8.8;
proxy_pass https://$http_host$uri$is_args$args;
}
}
答案 0 :(得分:4)
NGINX不支持HTTPS转发代理的原因是因为它不支持CONNECT方法。但是,如果您有兴趣将其用作HTTPS转发代理,则可以使用ngx_http_proxy_connect_module