Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证SSL转发代理的证书_Ssl_Proxy_Ssl Certificate_Omniauth - Fatal编程技术网

如何验证SSL转发代理的证书

如何验证SSL转发代理的证书,ssl,proxy,ssl-certificate,omniauth,Ssl,Proxy,Ssl Certificate,Omniauth,伙计 我在一台内部服务器上访问www.googleapis.com时遇到问题。我正在该服务器上的Rails应用程序上使用omniauth-google-oauth2。连接问题使得到www.googleapis.com的获取用户原始信息api失败 因此,我设置了一个nginx代理服务器,将SSL请求代理到www.googleapis.com 我的nginx服务器配置如下所示: server { listen 443; ssl o

伙计

我在一台内部服务器上访问
www.googleapis.com
时遇到问题。我正在该服务器上的Rails应用程序上使用
omniauth-google-oauth2
。连接问题使得到
www.googleapis.com
的获取用户原始信息api失败

因此,我设置了一个nginx代理服务器,将SSL请求代理到
www.googleapis.com

我的nginx服务器配置如下所示:

    server {
        listen       443;
        ssl          on;
        server_name  rome.jianshu.io;

        ssl_certificate      ssl/server.crt;
        ssl_certificate_key  ssl/server.key;
        ssl_protocols SSLv2 SSLv3 TLSv1;

        location / {
            resolver 8.8.8.8;
            proxy_pass       https://www.googleapis.com$request_uri;
            proxy_set_header Host      $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_buffering  off;
            proxy_http_version 1.1;
            proxy_read_timeout 120s;
            proxy_send_timeout 120s;
        }
    ...
}
server.crt
&
server.key
由我自己在服务器上生成。然后,我将开发机器上的
/etc/hosts
更改为指向代理服务器api的
www.googleapis.com

代理服务器运行良好,但我遇到了验证证书的问题。我的dev manchine出现以下异常:


法拉第::错误::在/users/auth/google_oauth2/callback处连接失败
SSL_connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败


我知道我可以绕过它:
OpenSSL::SSL::VERIFY\u PEER=OpenSSL::SSL::VERIFY\u NONE
,但这是一个高度不安全的解决方案。我想问你们,我能对我的应用程序/prd服务器/代理服务器做些什么来纠正这个问题?

嗨,你们能分享一下你们是如何解决这个问题的吗?@LeoGallucci最后我设置了一个
tinyproxy
并告诉法拉第使用它作为代理,然后就可以了。我当时的想法太复杂了。