求解如何使用Nginx代理后端服务器的HTTPS请求

李博秋 发布于 2013/04/16 12:31
阅读 3K+
收藏 0

我用NGINX代理HTTPS,整体配置如下:

前端使用NGINX:Redhat 6.3

    SSL配置如下:

        server {
        listen       443;
        server_name  mail.xxx.com;


        access_log  logs/access.mail_xxx.log  main;

        ssl                  on;
        ssl_certificate      /etc/pki/tls/certs/nginx.cert;
        ssl_certificate_key  /etc/pki/tls/private/nginx.key;

        ssl_session_timeout  5m;

        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;

        location = / {
            proxy_pass https://192.168.13.3:443/owa/;
        }

}

后端是EXCHANGE服务器:Windows Server 2003,Exchange本身也是HTTPS。

这里问题来了:请问如何实现,使用nginx前端代理,客户端浏览器能只使用后端EXCHANGE服务器证书加密。

我这里尝试了以下三种方法:

1.前端HTTPS使用nginx证书,后端HTTPS使用exchange证书,结果:客户端需要确认两次证书不受信,失败。

2.前端使用HTTP,后端HTTPS使用exchange证书,结果:前端没有listen 443根本就访问不了,失败。

3.前端HTTPS使用nginx证书,后端使用HTTP,结果:除了首页之外,其他页面能正常访问,点击”首页“会自动调回HTTP,而且每次切换页面,浏览器会弹出”是否只显示安全的内容“这个对话框,失败。

加载中
返回顶部
顶部