IIS でホストされている WCF Web サービスがあります。これは webHttpBinding を使用します。メソッドには WebInvoke 属性があり、REST スタイルにアクセスできます。http://mydomain.com/MyService.svc/some/rest/style/thingのようにそれらを正常に使用でき 、Web サービスへの引数に POST します。
ここで、これを非標準ポート 7777 経由の HTTPS に変更したいと考えています。IIS を正しく構成し、証明書とすべてを取得しました。https://mydomain.com:7777で html ページにアクセスできます。次のようなセキュリティ ノードを追加するために、webhttpbinding を変更して追加しました。
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
</security>
また、動作の servicemetadata ノードを変更し、httpGetEnabled='true' を削除して httpsGetEnabled='true' を追加しました。
https://mydomain.com:7777/MyService.svcにアクセスして、情報画面を表示できます。
http get を使用してhttps://mydomain.com:7777/MyService.svc/some/rest/style/thingにアクセスできますが、「メソッドは許可されていません」というメッセージが表示されます。
しかし、POST でhttps://mydomain.com:7777/MyService.svc/some/rest/style/thingにアクセスしようとすると、403 禁止されます
さらに情報を更新する
問題を絞り込んでいます
私は jQuery を使用しており、$.post(" http://mydomain.com/ .....". "data", callback, "json").. を介して Web サービスにアクセスしています。 post(" https://mydomain.com:7777/ .....". "data", callback, "json")..そしてそれは私に 403 を与えます... POST を送信する代わりに私が見る firebug を使用して、それは最初にOPTIONSを送信しています..そしてそれが403を与えているものです
これはjqueryの問題かもしれません