我支持的公司希望研究 Azure 应用程序代理,以便将内部 Web 应用程序呈现给公司网络之外的用户,而无需进行任何进一步的网络更改/设置(即 AAP 的用途)。
开发人员为概念验证建立了一个简单的内部网站,内部 URLhttp://测试,并且我已经安装了一个连接器并且报告为“正在运行”。
问题是,当我转到外部 URL(从 Azure App Proxy 门户中的应用程序概述页面复制)或单击 myapps.microsoft.com 上的图标时,浏览器会思考一秒钟左右,然后地址栏更改为内部 URL,当然它会因 DNS 错误而失败。
迄今为止尝试的故障排除步骤:
- 检查运行连接器的服务器的 Windows 事件日志,除了一些报告已建立连接的信息事件外,没有任何内容
- 在连接器服务器上运行 MS 网络消息分析器查找故障,但它显示成功连接到 login.microsoft.com(HTTP 代码 200)
- 在我的计算机上运行 Fiddler4(调用 Web 应用程序),它只显示:
- HTTP 200(正常)至 login.microsoft.com
- HTTP 302(找到)到外部 URL,两次
- HTTP 407(需要代理认证)到内部 URL,两次(但这是我自己公司的代理报告的,而不是客户端的基础设施)。
- 内部 URL 出现 HTTP 502(未找到主机)
- 在线搜索是否有其他人遇到同样的问题,但搜索词 - azure、应用程序、代理、内部、外部、重定向 - 全部显示 docs.microsoft.com 页面,说明如何设置 AAP。
我确实对日志中我公司的代理感到疑惑,因此我在 4G(而不是 WiFi)上尝试在手机上进行操作,但遇到了同样的问题:外部 URL 更改为内部 URL 并失败。
我的理解是,这个设置正是 AAP 的工作方式,所以有点卡住,正在寻找下一步可以尝试的指针。
更新:URL 转换已设置为默认的Headers = Yes
& Body = No
。因此我尝试将两者都设置为否。外部 URL 现在显示(但不会刷新到内部 URL):
Http Status Code: 403 Reason: Unable to process request, directory browsing is not allowed
设置Body = Yes
会产生相同的 403 结果。将两者设置为Yes
会给我带来原始问题。
答案1
答案2
问题不在于 AAP,而在于我的目标内部网站 —— 我建立了另一个简单的“Hello, World!”网站并将其作为目标,它完全按照预期运行。
鉴于这是一个概念证明,我不会投入进一步的精力去尝试找出为什么第一个测试站点无法正常工作。