1

カスタム ドメインで https を使用して Azure クラウド サービスを公開しようとしていますが、次のエラーが表示されます。詳細については、トレース ログを参照してください。」

カスタム ドメインについて: https://www.windowsazure.com/en-us/develop/net/common-tasks/custom-dns/#header-1の 2 番目のオプション「A レコード」の手順に従いました。 ": godaddy のゾーン ファイル マネージャーで、"@" ホスト用に構成された A レコードを持っています。これは、myservice の "パブリック仮想 IP アドレス" (Azure portal にある) を "ポイントします"。「サービスを有効にできませんでした」というメッセージが表示されるということは、A レコードが機能していることを意味しているように思えますが、確かではありません。

https について: http://www.31a2ba2a-b718-11dc-8314-0800200c9a66.com/2011/06/how-to-get-and-install-ssl-certificate.htmlの手順に従いました。簡単に言うと、開発マシンから mydomain.net の CSR を使用して Godaddy から証明書を購入し、フレンドリ名 mydomain.net を使用して開発マシンで CSR を完了し、そのファイルを使用して mydomain.net.pfx にエクスポートし、アップロードしました。証明書を Azure のクラウド サービスに送信し、証明書を使用して VS で WebRole を構成し、Web ロール プロジェクトを Azure に発行しました。

クライアント側 (WP7):

<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpsBinding_IMyInterface" 
      maxBufferSize="2147483647"
      maxReceivedMessageSize="2147483647">
      <security mode="Transport" />
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint name="BasicHttpsBinding_IMyInterface"
    address="https://mydomain.net/myservice.svc" 
    contract="MyService.IMyInterface"       
    binding="basicHttpBinding"
    bindingConfiguration="BasicHttpsBinding_IMyInterface" />
</client>

注: 私の証明書はサブドメイン用ではなく、ワイルドカードでもないため、CName は使用しませんでした。

私の検索から、これは他の人にも有効であるという印象を受け、自分が何を違う方法で行っているのか理解できません。

4

1 に答える 1

0

はい - サーバー構成で指定された一致するエンドポイントが必要です。以下は、HTTP トランスポート セキュリティを使用する WCF サービスの web.config ファイルの完全な例です ( http://msdn.microsoft.com/en-us/library/hh556232.aspxから)。

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="MySecureWCFService.Service1">
        <endpoint address=""
                  binding="basicHttpBinding"
                  bindingConfiguration="secureHttpBinding"
                  contract="MySecureWCFService.IService1"/>

        <endpoint address="mex"
                  binding="mexHttpsBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="secureHttpBinding">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpsGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>
于 2012-12-13T17:41:11.933 に答える