小编Agr*_*ris的帖子

Nginx代理通过证书增补到MS IIS

Nginx 1.9.5(Linux Centos7)-> MS IIS 8.5因此,我尝试将nginx用作IIS的客户端反向代理,其中需要在IIS级别进行客户端证书身份验证。nginx:443->> IIS:443+客户端证书身份验证。

示例位置代理通过也这里是我尝试的注释命令。

location ^~ /test/ {
#proxy_buffering off;
#proxy_http_version 1.0;
#proxy_request_buffering off;
#proxy_set_header Connection "Keep-Alive";
#proxy_set_header X-SSL-CERT $ssl_client_cert;
# proxy_ssl_name domain.lv;
#proxy_ssl_trusted_certificate /etc/nginx/ssl/root/CA.pem;
#proxy_ssl_verify_depth 2;

proxy_set_header HOST domain.com;
proxy_ssl_certificate /etc/nginx/ssl/test.pem;
proxy_ssl_certificate_key /etc/nginx/ssl/test_key.pem;
proxy_ssl_verify off;
proxy_pass https://10.2.4.101/;

 }
Run Code Online (Sandbox Code Playgroud)

在IIS上很简单。

  1. 创建新的网站。
  2. 在受信任的根目录中导入CA证书。
  3. 设置必需的ssl证书。

测试我得到什么:

  1. 直接浏览器需要IIS客户端证书-工作正常。
  2. Nginx到其他nginx客户端证书的要求-工作。
  3. Nginx到IIS客户端证书忽略-工作
  4. Nginx到IIS客户端证书是必需的或不能接受-不起作用

错误:Nginx端:* 4622上游超时(110:连接超时),同时从上游IIS端读取响应标头:500 0 64 119971

所以我希望有人能知道为什么?

编辑1.还尝试从其他服务器使用Nginx 1.8,没有帮助。

proxy_ssl_verify off;
proxy_ssl_certificate /etc/nginx/ssl/test/test.pem;
proxy_ssl_certificate_key /etc/nginx/ssl/test/test_key.pem;
proxy_pass https://domain.com;
Run Code Online (Sandbox Code Playgroud)

2.尝试与Apache 2.4相同

SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off …
Run Code Online (Sandbox Code Playgroud)

authentication iis ssl reverse-proxy nginx

2
推荐指数
1
解决办法
2164
查看次数

标签 统计

authentication ×1

iis ×1

nginx ×1

reverse-proxy ×1

ssl ×1