10

SSRS 2014 を実行している SSRS インスタンスがあり、SSL 経由で使用できるように構成したいと考えています。

サーバーはhttp://reports.mydomain2.comで入手できます。

GoDaddy からドメイン www.mydomain.com でマルチ SSL 証明書を購入し、reports.mydomain2.com を SAN として追加しました。

IIS の場合と同様に GoDaddy から SSL 証明書を生成し、証明書を中間認証局と個人/証明書にインポートしました ここに画像の説明を入力 ここに画像の説明を入力

SSRS 構成マネージャーを開始し、SSL をセットアップしようとしていますが、証明書が表示されますが、証明書を選択して [適用] をクリックすると、SSL 証明書をバインドできないというエラーが表示されます

ここに画像の説明を入力

表示されるエラーは

Microsoft.ReportingServices.WmiProvider.WMIProviderException: An unknown error has occurred in the WMI Provider. Error Code 80070520

 ---> System.Runtime.InteropServices.COMException (0x80070520): A specified logon session does not exist. It may already have been terminated. (Exception from HRESULT: 0x80070520)
   --- End of inner exception stack trace ---
   at Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.ThrowOnError(ManagementBaseObject mo)
   at Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.CreateSSLCertificateBinding(String application, String certificateHash, String ipAddress, Int32 port)
   at ReportServicesConfigUI.WMIProvider.RSReportServerAdmin.CreateSSLCertificateBinding(UrlApplication app, String certificateHash, String ipAddress, Int32 port)

コマンドでバインディングを確認しました

netsh http show urlacl

ポート443でエントリを見つけました

Reserved URL            : https://+:443/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/
    User: NT SERVICE\SstpSvc
        Listen: Yes
        Delegate: Yes
    User: BUILTIN\Administrators
        Listen: No
        Delegate: No
    User: NT AUTHORITY\SYSTEM
        Listen: Yes
        Delegate: Yes
        SDDL: D:(A;;GA;;;S-1-5-80-3435701886-799518250-3791383489-3228296122-2938884314)(A;;GR;;;BA)(A;;GA;;;SY) 

これが違いを生むかどうかはわかりません(ポート443がすでにバインドされている場合、SSRS URLにバインドできないかどうか

しかし、もう 1 つの考えられる問題は、SSRS 構成マネージャーで、SSL バインディングの URL を reports.mydomain2.com に変更できないことです。代わりに、証明書のデフォルト ドメインにバインドしようとしました。

何が問題なのか、どうすれば解決できますか?

4

2 に答える 2

17

私は解決策を見つけました。うまくいけば、他の人に役立つでしょう。

GoDaddy からダウンロードした証明書には秘密鍵が含まれていません。これが Create Certificate Binding エラーの原因でした。これを解決するには、IIS で最初の CSR を生成したマシンで、証明書を秘密キーと共にエクスポートする必要がありました (念のため、すべての拡張プロパティと共にエクスポートしました)。

したがって、私の手順は次のとおりです。

  1. CSR を生成したマシンで、認証局から受け取った証明書をインポートします。
  2. 同じマシンで、秘密鍵と拡張プロパティを含む証明書を .pfx にエクスポートしました
  3. SSRS マシンで、エクスポートされた証明書をインポートしました
  4. SSRS 構成マネージャーを起動し、[Web サービス URL] セクションで、新しくインポートした証明書を選択し、[適用] をクリックします。
  5. SSRS サーバーの DNS と完全に一致する URL を使用して証明書が生成された場合は、これで完了です。
  6. 証明書の URL が SSRS の DNS 名と一致しない場合 (ただし、レポート サーバーの URL に SAN がある場合は、SSRS 構成マネージャーで選択された SSL 証明書が不明として設定され、ssl url も不明として表示されます。 証明書と SSL URL が不明であると表示される SSRS
  7. SSRS 構成ファイル RsReportServer.config を開き、UrlReservations のエントリを編集して、SSL に必要な URL を設定します。
<URLReservations>
  <Application>
      <Name>ReportServerWebService</Name>
      <VirtualDirectory>ReportServer</VirtualDirectory>
      <URLs>
          <URL>
              <UrlString>https://reports.mydomain2.org:443</UrlString>
              <AccountSid>....</AccountSid>
              <AccountName>NT Service\ReportServer</AccountName>
          </URL>
          <URL>
              <UrlString>http://+:80</UrlString>
              <AccountSid>....</AccountSid>
              <AccountName>NT Service\ReportServer</AccountName>
          </URL>
      </URLs>
  </Application>
  <Application>
      <Name>ReportManager</Name>
      <VirtualDirectory>Reports</VirtualDirectory>
      <URLs>
          <URL>
              <UrlString>http://+:80</UrlString>
              <AccountSid>....</AccountSid>
              <AccountName>NT Service\ReportServer</AccountName>
          </URL>
          <URL>
              <UrlString>https://reports.mydomain2.org:443</UrlString>
              <AccountSid>....</AccountSid>
              <AccountName>NT Service\ReportServer</AccountName>
          </URL>
      </URLs>
  </Application>
</URLReservations>

https のエントリのみを追加または編集する必要があります (ポート 80 に http のエントリがありますが、これは変更しないでください)。ssl の新しいエントリには、ポート 80 のエントリから AccountSid を使用します。

  1. 以下のコマンドを実行して、すべてのバインドされた URL を見つけます。レポート サーバーの URL を見つけて、レポート サーバーの SSL URL を作成するときに必要になる SDDL を書き留める必要があります。

    netsh http show urlacl
    
  2. 間違った URL (証明書が作成されたメインの URL) を指している、SSRS Config Manager によって作成されたバインドされた URL を削除します。

    netsh http delete urlacl url=https://www.mydomain1.org:443/ReportServer
    netsh http delete urlacl url=https://www.mydomain1.org:443/Reports
    
  3. 次のコマンドを実行して、レポート サーバーの適切な URL を追加します。ポート 80 にバインドされたレポート サーバーのエントリにある SSDL を使用する必要があります (上記のポイント 8 を参照)。

    netsh http add urlacl url=https://reports.mydomain2.org:443/ReportServer user="NT Service\ReportServer" listen=yes sddl=<....>
    netsh http add urlacl url=https://reports.mydomain2.org:443/Reports user="NT Service\ReportServer" listen=yes sddl=<....>
    
于 2015-12-20T18:51:32.817 に答える