想通过自己的主机代理一个第三方 HTTP 服务
部分 nginx 配置如下,现在访问 https://mydomain.com 提示 This site can ’ t provide a secure connection
和 ERR_SSL_PROTOCOL_ERROR
求解
server {
listen 443;
server_name mydomain.com;
ssl on;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
location / {
proxy_pass http://anotherdomain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Client-Verify SUCCESS;
proxy_set_header X-Client-DN $ssl_client_s_dn;
proxy_set_header X-SSL-Subject $ssl_client_s_dn;
proxy_set_header X-SSL-Issuer $ssl_client_i_dn;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
}
}
1
Kilerd 2017-04-11 15:46:38 +08:00
证书链没弄好吧。 是不是忘记添加 CA 证书了。
|
3
nfroot 2017-04-11 17:00:11 +08:00
目测这行是多余的,或者说不理解为什么你要设置这个。
proxy_set_header Host $host; 既然目标站是 http,那么这些请求也是没必要的吧 proxy_set_header X-Client-Verify SUCCESS; proxy_set_header X-Client-DN $ssl_client_s_dn; proxy_set_header X-SSL-Subject $ssl_client_s_dn; proxy_set_header X-SSL-Issuer $ssl_client_i_dn; |
5
Exin OP 才注意到我把标题里的“反向”打成了“方向”😓
|
6
Exin OP 搞定,只保留了`proxy_pass`和两个 timeout 的配置项
|
7
paranoiagu 2017-04-11 19:21:15 +08:00 via Android
后端是 tomcat 吗?如果是,其它几句还是酌情要保留的,而且 tomcat 也要配置的。
|
8
Exin OP @paranoiagu #7 不是自己的后端,是第三方的,实现方式未知。刚刚测试了下功能,跑的挺好的。
|