使用 HTTPS 的 SQL Server 報告管理器 404
好的。我在 Internet 上搜尋了有關嘗試解決此問題的資訊,但沒有發現任何與我的情況有關的資訊。我從這裡開始,這導致我到這裡,這導致我查看用於 HTTP 的 netsh 命令。
了解:使用 HTTP/80 訪問報表管理器或 Web 服務,我沒有任何問題。
我的問題是嚴格讓 HTTPS/443 工作並打開與 HTTP/80 使用的完全相同的頁面。我得到的只是
HTTP Error 404
。
- SQL 和 SSRS 的內部版本號:
10.50.4270.0
- 我的證書已安裝在伺服器上
- Windows 防火牆已禁用,但我只是想在伺服器上本地啟動 HTTPS
- 我已按照 Microsoft 在 RSCM 中的指示配置了所有內容。
- SSL 配置已通過 RSCM 完成,並使用該 URL 嘗試訪問
- 我已經驗證
netsh
SSL 證書綁定在 IP:埠 443 上。- 下面的系統資料庫項
HKLM:\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo
存在於0.0.0.0:443
.- In
netsh
show iplisten
沒有顯示任何內容,所以 Iadd iplisten ipaddress=0.0.0.0
,但這並沒有影響任何事情- 在我
rsreportserver.config
的範圍內SecureConnectionLevel
設置為value="0"
我被卡住了,我在這裡想做什麼或檢查什麼?
編輯
我剛剛在全新的伺服器上完成了全新安裝,結果相同。
問題與 SSRS 使用的證書有關。如果您的證書是使用 創建的
hostname.whatever.com
,則您只能通過該路徑訪問報告 URL,https: //hostname.whatever.com/Reports
。如果您嘗試https:// 10.xxx.xxx.xxx/Reports
(其中 IP 是伺服器上的 IP),您將收到 404 錯誤。所以針對我的情況進行了修復:
我發現用於在伺服器上生成證書的友好名稱被隱藏了。我正在將其修復為正在使用的伺服器的正確完全限定 DNS 名稱。我通過在伺服器上安裝 SQL Server Report Server 發現了這一點,該伺服器使用所用伺服器的正確名稱創建了證書。
一旦我更正了該證書並進行了驗證,就會將其標記為正確答案。
編輯 在嘗試更改證書時出現了另一個問題。在我從 RSCM 中正確刪除證書之前,伺服器的管理員刪除了它。所以現在它不會綁定到新證書,因為它已經看到一個綁定了。由於您無權訪問 IIS(SSRS 使用 HTTP.sys),因此確實沒有乾淨、簡單的方法可以解決此問題。因此,按照此 KB,您必須進入 NETSH 以刪除綁定。您會在那篇知識庫文章中註意到 NETSH 的連結沒有提供太多資訊,所以請使用這個. 我必須使用以下兩個命令來刪除 Window Server 2008 R2 上的綁定: 警告:我在一個獨立的伺服器上。如果您在伺服器場中或執行多個 SSRS 實例,請務必小心刪除哪個 SSL 綁定。
This is after getting to the "netsh http>" prompt: delete sslcert ipport=0.0.0.0.:443 delete sslcert ipport=[::]:443
我這樣做了,然後進入 RSCM 並選擇了安裝在伺服器上的新證書。但這還沒有結束,由於某種原因,它一直在刪除綁定並在連結中顯示“未知”。我停止了 SSRS,然後打開了 rsreportserver.config 文件,發現舊的(“壞的”)綁定仍然顯示在配置文件中。我刪除了回到 RSCM 並啟動了服務,它似乎修復了它。