security - SSRS 2008 R2,场 - 负载平衡和 HTTP 状态 401 : Unauthorized

标签 security powershell reporting-services load-balancing server-farm

我的公司有 SQL Server Reporting services 2008 R2 环境。

2 台服务器 Windows 2008 R2:PRERPSW01 和 PRERPSW02,位于域 DOMAIN_Company NLB 名称:PRERPS

IP地址(我通过ping命令获取):

PRERPSW01   192.168.110.41
prerps      192.168.90.92

PRERPSW01 服务器中的主机文件

192.168.110.41  prerps

PRERPSW01和PRERPSW02服务器中,有以下配置:

Config Report Server: C:\Program Files\Microsoft SQL Server\MSRS10_50.REPORTING\Reporting Services\ReportServer\rsreportserver.config
HostName: PRERPS. 
UrlRoot: http://PRERPS/ReportServer

PRERPSW01中,我使用凭据PRERPSW01\installerUser

使用http://PRERPS/ReportServer/ReportService2005.asmx打开IE,无法访问

使用http://PRERPSW01/ReportServer/ReportService2005.asmx打开IE即可访问

我有 Poweshell 脚本使用 URI 部署 RDL 文件 http://PRERPS/ReportServer/ReportService2005.asmx

但我收到错误

请求失败,HTTP 状态为 401:未经授权

在我的电脑中,使用凭据 DOMAIN_Company\My_user

使用 http://PRECASRPS/ReportServer/ReportService2005.asmx 打开 IE我可以访问

有什么建议吗?

已更新

现在,我使用凭据 DOMAIN_Company\PreRPSAdministrator。 rsreportserver.config 的配置相同。

PRERPSW01中测试没问题
PRERPSW02 中的测试KO

PRERPSW02测试记录_ReportServerService__09_22_2015_13_58_31.log_:

library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Call to CleanBatch()
library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs, 0 persisted streams, 0 segments, 0 segment mappings, 0 edit sessions.
library!WindowsService_0!9cc!09/22/2015-14:38:48:: i INFO: Call to CleanBatch() ends
ui!ReportManager_0-1!fa8!09/22/2015-14:39:44:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
   at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
   at Microsoft.ReportingServices.UI.GlobalLinks.Control_Init(Object sender, EventArgs args)
ui!ReportManager_0-1!fa8!09/22/2015-14:39:44:: e ERROR: HTTP status code --> 500
-------Details--------
System.Net.WebException: The request failed with HTTP status 401: Unauthorized.

   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()

   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)

   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()

   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()

   at Microsoft.ReportingServices.UI.Global.SecureAllAPI()

   at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()

   at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)

   at System.EventHandler.Invoke(Object sender, EventArgs e)

   at System.Web.UI.Control.OnInit(EventArgs e)

   at System.Web.UI.Page.OnInit(EventArgs e)

   at System.Web.UI.Control.InitRecursive(Control namingContainer)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ui!ReportManager_0-1!e70!09/22/2015-14:39:50:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
   at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
   at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()
   at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Web.UI.Control.OnInit(EventArgs e)
   at System.Web.UI.Page.OnInit(EventArgs e)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ui!ReportManager_0-1!c4c!09/22/2015-14:39:51:: e ERROR: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod()
   at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListItemTypes()
   at Microsoft.ReportingServices.UI.Global.SecureAllAPI()
   at Microsoft.ReportingServices.UI.ReportingPage.EnsureHttpsLevel()
   at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Init(Object sender, EventArgs args)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Web.UI.Control.OnInit(EventArgs e)
   at System.Web.UI.Page.OnInit(EventArgs e)
   at System.Web.UI.Control.InitRecursive(Control namingContainer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

最佳答案

本地帐户 + NLB = 可预测的故障。 使用域帐户访问虚拟服务器名称,或者如果您要使用本地帐户在本地机器上运行任务,则配置主机条目,以便虚拟服务器名称仅使用本地计算机。 NLB 通常按 IP 地址缓存路由(不是纯粹的循环平衡),这可能会导致“但本地帐户有时可以工作”的情况。但如果您被路由到 NLB 中的其他节点,本地帐户将会失败。

关于security - SSRS 2008 R2,场 - 负载平衡和 HTTP 状态 401 : Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117175/

相关文章:

java - 拦截对引用监视器的方法调用?

c# - 如何在没有 HTML 标签的情况下从数据库中获取数据?

security - 如何让每个用户根据他们在 JAAS 中的权限/角色访问特定位置的资源?

php - 服务器到服务器的电子邮件传输安全吗?

powershell - 用于创建文件夹的批处理文件,增量文件夹名称为Name 1、Name 2、

c# - 托管的 PowerShell 在同一程序集中看不到 Cmdlet

PowerShell RSA 解密

c# - 如何在运行时设计报告 SSRS

asp.net - SSRS 报告查看器 + ASP.NET 凭据 401 异常

angular - 通过隐藏/混淆代码来保护 Angular 6/7 应用程序