基于IIS代理访问到NodeJS Nodebb论坛站点
最近公司希望搭建一个新的现代论坛,用于服务客户和产品。
经过领导层一系列讨论决定用Nodebb。我不太了解NodeJS相关技术栈,但是让我来部署。
花了一下午在Windows上基于Nginx部署
https://docs.nodebb.org/installing/os/windows/
官网中给出了基于Nginx的部署步骤。
公司比较抠搜,没有给新的服务器,用我们部门的一个负载服务器拿来部署,暂时摘掉相关域名的负载。
因为原本是IIS占用了80端口,所以用NG统一做代理的话会影响我们之前已经部署的站点,比较麻烦,所以还是想基于IIS。
发现他们仅仅基于Nginx做了代理,但具体也不太清楚。用IIS搭建代理之后可以访问。所以把过程发一下,做个记录。
在 IIS 中安装 ARR 工具和 URL Rewrite
https://www.iis.net/downloads/microsoft/application-request-routing
https://www.iis.net/downloads/microsoft/url-rewrite
安装方法很简单,只需要打开上面两个工具的链接将它们下载下来并安装就可以了。
不过还有另一个快捷的安装渠道,微软官方有一个 Web 平台安装程序 可以直接一键安装。
安装完成后打开 IIS ,可以看到出现了两个功能
启用 ARR 代理
Application Request Routing
选择右侧末尾处的 Server Proxy Settings
勾选 Enable proxy
。点应用后退出。
创建需要代理的域名站点
此处不赘述,站点随便绑定一个默认位置就可以,我绑定到了自带默认站点下的文件夹。
配置 URL Rewrite
在站点主页中选择URL重写功能
添加规则
- 入站规则
- 空白规则
添加配置
- 名称随意
- 模式写
^(.*)
- 添加条件 - 条件输入
{HTTP_HOST}
模式输入^你的域名$
- 操作类型默认重写
- 重写 URL :
http://127.0.0.1:4567/{R:1}
,这个链接表示要跳转的地址。
保存好后,就可以直接在浏览器访问你的域名了。