在web farm中架设需要证书的wcf
makecert -r -pe -n "CN=颁发给" -ss My -sky exchange
此为证书的生成命令,其中“颁发给”需要替换成具体的机器。
颁发给谁,则要使用对应的方式来访问服务
如颁发给www.abc.com则在引用服务的web.config中address就应该是https://www.abc.com/service.svc
同样,机器名,公网ip和内网ip。
如果你办法给内网ip,而使用https://公网ip/service.svc来访问,他俩本来就是一台机器,但是因为证书不匹配,所以会包证书错误
对于一般的https网站,可选用域名,公网ip,内网ip,机器名等。
但是iis7上https默认不能指定主机名,所以域名不考虑
在web farm中加入机器时,只能使用ip,不能使用机器名,所以机器名也不考虑。
剩下2种选择,公网ip或内网ip。
一般来说,web farm服务器和具体的web服务器都是在同一个局域网的,所以web farm访问web服务器可用内网ip,也就是具体的web服务器的证书可颁发给内网ip
web farm本身,如果服务是对外开放的,则需要是公网ip,如果也是内部使用,则可以使用内网ip。
以web farm与web都是内网为例(2台web服务),
我们首先需要制作3个证书,分别颁发给3个服务器的内网ip。
在各自的机器上(Ctrl+R mmc 中)导入自己ip的证书到
导入到这里是为了建立https网站使用的
web服务器上分别建立ssl站点,承载wcf
绑定的使用,ssl证书选择自己的ip相同的证书
此处客户端证书一定要忽略。因为最终是web farm来访问这个的。如果不忽略,web farm 502。
在web farm服务器中
受信任的,导入2台web服务器的证书,因为web farm服务要调用具体的web服务器,所以需要加入到受信任的根
这里加入自己的,用于做https网站
建立一个https网站,设置与web服务器一直,证书选用web farm自己的。
这个网站是为了web farm负载用的,如果没有这个网站,web farm本根就负载不起来。
建立farm
servers在添加的时候,必须填web服务器的内网ip,相当于在web.config里填写的address的ip
将默认建立的arr url重写规则修改,http改为https,可以进一步定义更多的条件。
web服务器上wcf的web.config每台都不太一样
此处配置需要与自己的内网ip一致,他其实找的是证书,因为证书颁发给的是内网ip,所以这里和内网ip一致。
调用wcf的web.config。
这里填写的是web farm的地址,如果web farm的https网站使用的内网证书则使用内网,外网则使用外网。