![SSRS 使用 FQDN 时提示输入凭据](https://linux22.com/image/718276/SSRS%20%E4%BD%BF%E7%94%A8%20FQDN%20%E6%97%B6%E6%8F%90%E7%A4%BA%E8%BE%93%E5%85%A5%E5%87%AD%E6%8D%AE.png)
我遇到这个问题是因为我正在编写一个使用 SSRS 报告的 Web 应用程序,在将我们的生产 SSRS 服务器配置为使用 HTTPS 后,我们发现报告无法运行(我们收到错误 401:禁止)。
后来我发现,如果我尝试使用 HTTPS 导航到 Web 门户的 URL,系统会提示我输入登录凭据,而如果我导航到 HTTP URL,则不会出现这种情况。我不应该被提示输入凭据,因为我的客户端计算机和服务器都加入了同一个 Windows 域,而且我是服务器上的管理员。
情况如下:
- 我们在同一个域中有一个 Dev 服务器,也运行着 SSRS(相同版本,据我所知,相同配置)。我首先重新配置了此服务器以支持 HTTPS,并且没有遇到任何问题。我可以导航到 Dev 服务器上的 Web 门户 URL,它会打开,而不会提示我输入凭据。
- 我们对两个 SSRS 服务器使用相同的 SSL 证书。
- SSRS 证书指定域,因此为了使用 HTTPS 浏览 URL,必须包含 FQDN(即在 URL 中包含域)。
- Dev 服务器也运行 IIS,因为它也是 Dev 环境的 Web 服务器。生产服务器仅运行 SQL Server 2016。我怀疑安装 IIS 时发生的某些配置是我在 Dev 服务器上没有遇到相同问题的原因,但我不确定。
两个服务器上的文件reportserver.config
完全相同。身份验证部分如下:
<Authentication>
<AuthenticationTypes>
<RSWindowsNTLM/>
</AuthenticationTypes>
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
正如我所说,如果我不使用 HTTPS,它可以在开发服务器和生产服务器上完美运行。
有人能告诉我需要更改哪些配置才能允许连接到生产服务器上的 SSRS Web 门户(并且希望由此修复无法运行的报告)使用 HTTPS 和 FQDN 工作而无需提示输入登录凭据?
答案1
添加客户端笔记本电脑上的 Internet Explorer 设置中的本地 Intranet 区域的 URL。
答案2
是的,它可以工作,但每个用户都需要在受信任的站点中添加 URL,并且它只能在同一个服务器/连接上工作,在外部不起作用