是否可以通过IIS-ARR组合实现下述方案?或任何其他发展。
在DMZ中有一个前端Web服务器(反向代理类型),它将对用户进行身份验证(如果可能的话,授权),然后将请求转发到内部网络中的相应应用程序服务器。
任何建议/想法都会非常有用。
答案 0 :(得分:0)
简短的回答是“否”,因为它不是开箱即用的功能。
更长的答案是“是”,因为您可以为IIS编写一个本机模块,该模块可以在ARR处理请求之前完成所需的任何操作(修改标头,更改目标主机,修改请求主体等)。 / p>
我知道这是可行的,因为我使用此方法通过多种技术在一组服务上实现了一些常见的中间件(身份验证,错误,常见错误页面,cookie重写)。
这是文档的起点:
“演练:使用本机代码创建请求级HTTP模块”
https://msdn.microsoft.com/en-us/library/ms689320(v=vs.90).aspx
答案 1 :(得分:-1)
您可以通过添加等于"?authorized = false / true"的查询字符串值来实现此目的,使用ARR评估查询字符串值 - 如果授权= false授权服务器场路由,则从授权过程发送相同的URL,查询字符串authorized = true,它将路由到" live"服务器场。
当然,您可能希望使用其他一些价值而不是"授权"在您的URL中的纯文本!
您可以在标题中执行相同的操作,使用appcmd可以操作ARR中的标题。 ARR的架构位于C:\ Windows \ system32 \ inetsrv \ config \ schema \ arr_schema.xml文件中。 如果检查此模式,您将看到Header元素的位置。
HTH