windows2008r2、nginx、iis7.5实现多个ssl证书和域名部署

来源:赵克立 分类: Linux 标签:无发布时间:2018-05-19 16:01:07浏览:122
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
温馨提示:
技术类文章有它的时效性,请留意文章更新时间以及软件的版本
更新时间:
2018-05-25 12:35:17

问题描述

正常情况下iis只能有一个443端口来实现https访问,一般都是用一个泛域名证书来实现同一个服务器多个域名的部署,但是现在网络上免费的证书都是一证一域的情况,iis只能配置一个域名来访问,

另外在网络上找到的一个方法是使用iis8(windows2012)来部署sni可以实现,对我来说成本有点大,于是就另找方法,nginx有反向代理的功能,说白啦就是说让有请求过来的时候它可以根据当前请求的信息来转发到不同的服务进行处理,

实现方法

nginx让nginx来接管80和443端口的请求,同时别忘了把iis的443和80端口换成其它的端口。比如555和8080,

当nginx80端口接到请求的时候根据当前请求的域名信息来转发到对应的iis请求就可以啦。比如iis的站点 www.aaa.com:8080  因为端口我们已经改为8080啦要记得带上,下面是nginx的配置

server {
    listen       80;
    server_name  www.aaa.com;
    location / {
        proxy_pass   http://www.aaa.com:8080;
        index  index.html index.php index.htm;
    }
}

有其它的网站的话类似添加就可以,

iis中添加https站点时是不能用443端口的因为443分配给啦nginx所以添加站点的时候443换成其它的比如444 555等,多个https站点就添加多个每个端口写的不一样就ok

image.png

这个时候iis中访问的时候是 https://www.bbb.com:555  这样的地址肯定是不能直接这样访问的,下面我们使用nginx给转发一下

server {
    listen       443 ssl;
    server_name  www.bbb.com;
    resolver 114.114.114.114 223.5.5.5 valid=3600s;
    #ssl on;
    ssl_certificate      cert/1_www.bbb.com.crt;
    ssl_certificate_key  cert/2_www.bbb.com.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    
    #charset koi8-r;
    #access_log  logs/$host.access.log  main;
    location / {
        proxy_pass   https://www.bbb.com:555;
        index  index.html index.htm;
    }
}

到此功能就全实现啦,另外注意点 8080和555 666 等端口不用设置为外网访问,外网访问还是只有80 和443就可以啦,,


微信号:mokuyu QQ群:215861553 紧急求助须知
留下一点心意, :)
点击更换验证码
留言