将IIS配置为代理服务

时间:2019-01-28 10:55:04

标签: iis reverse-proxy iis-10

我将IIS配置为Windows 10上的反向代理服务器。我有在http://localhost:5050上启动的asp net core Web服务。我想将http请求从https://localhost/api/myservice路由到http://localhost:5050。我应该如何配置IIS来做到这一点?

我做到了:

  • 在“ URL重写”部分添加新的“代理服务器”
  • 将“模式”设置为“(。*)/ api / myservice
  • 将“操作类型”设置为“重写”,将“重写URL”设置为“ http://localhost:5050
  • 选中“追加查询字符串”

坦白地说,我尝试了许多方法来配置IIS,但仍然没有成功。有人还能解释字符串“ {R:1}”或“ {C:2}”是什么意思吗?

1 个答案:

答案 0 :(得分:0)

向与443绑定的网站添加新的空白规则,并根据图片进行配置。

{R:1}引用规则的正则表达式中的第一个匹配项。因此,像He(.*)o, wo(.*)d!这样的正则表达式有两个匹配组。如果与字符串Hello, world!匹配,则完整的匹配字符串可以在重写URL中引用为{R:0}ll引用为{R:1},而rl引用为{R:2}

在您的模式(.*)/api/template中,在/ api / template之前匹配的任何内容均为{R:1}-因此字符串/some/path/api/template的{​​{1}}为/some/path。在下面图像中我配置的模式{R:1}中,/ api / template下的子路径被捕获为^/api/template(?:/(.*))?。因此字符串{R:1}的{​​{1}}为/api/template/index.html

{R:1}引用是指在这样的基本重写方案中不会使用的条件变量。

IIS Blank Rule

请参见the documentation,了解您的方案。