公司新部署的禅道,希望绑定到域名 zentao.njrgrj.com ,并且希望不带端口访问,需要Apache绑定到80端口。
网上有教程,是让Apache使用80端口,绑定多个域名,并将对应分请求访问转代理到IIS;公司阿里云服务器,已经有多个网站占用80端口,不可能为了禅道,把全部网站做修改。
最理想的改动,是IIS继续用80端口将请求禅道的网址重写到Apache。
这也是当80端口被占用无法同时使用两个Web服务的解决方案,使得IIS和Apache共存另一种方案,算是另辟蹊径吧。
通过部署Apache,监听8765端口。最终可以实现通过 http://localhost:8765 可以正常访问到禅道的服务。
在IIS中,新建一个站点,可以指向一个空文件夹。例如
D:\Apache\zentaoIIS
绑定域名和80端口。如下图 绑定了zentao.njrgrj.com 和 chandao.njrgrj.com(最终两个都是可以访问到禅道系统)
选中站点中的URL重写功能,
添加规则-入站规则-空白规则
添加配置
名称随意
匹配与模式匹配,使用通配符,模式写 ^(.*)
操作类型默认重写
重写URL :http://127.0.0.1:8765/{R : 1},这个链接表示要跳转禅道的本地访问地址,
保存好后,就可以直接在浏览器访问 http://zentao.njrgrj.com 了。
备用地址http://chandao.njrgrj.com同样可用。
URL Rewrite Module Configuration Reference(URL重写模块配置参考)
规则条件允许我们通过额外的逻辑规则来过滤和匹配规则模式( rule pattern ),所以只有当规则模式的URL匹配成功时,Rule conditions才会起作用。
资料:详解IIS中URL重写工具的规则条件(Rule conditions)https://shiyousan.com/post/635654920639643421
rule patterns规则模式在IIS的URL重写模块中,是较为关键的设置。只有规则模式的URL匹配成功时,其他的规则才能起到作用。
资料:详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)https://shiyousan.com/post/635659901987610088