1

IIS を使用して URL をリダイレクトするには、次のように書き換えてください。

https://domain.com:8080/Context/services/.*

https://domain.com:8443/Context/services/.*

8080 ポートしか開いていないため、SSL のリダイレクトが必要です。

しかし同時に、 https: //domain.com:8080 /Context/xyz (またはサービス以外のもの)/.*などの他の URL がリダイレクトされることは望ましくありません。

次のことを試しましたが、機能しません。

<rule name="HTTPS Request on 8080 Redirect to HTTPS Request on 8443 for Root" 
      patternSyntax="ECMAScript" stopProcessing="true">
    <match url="https(.*)Context/services/.*" />
    <conditions>
        <add input="{SERVER_PORT}" pattern="8080" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}:8443/{R:0}" />
</rule>
4

1 に答える 1

0

これを試してください:

<rule name="HTTPS Request on 8080 Redirect to HTTPS Request on 8443 for Root" 
     patternSyntax="ECMAScript" stopProcessing="true">
    <match url="^(Context/services/.*)" ignoreCase="true" />
    <conditions>
        <add input="{SERVER_PORT}" pattern="8080" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}:8443/{R:0}" />
</rule>

ここの「URL 部分へのアクセス」セクションを確認すると、一致 URL には、それが配置されているディレクトリのルート以降のすべてが含まれていることがわかります。あなたの場合のように、ルート ディレクトリ内の何かについては、ホスト名とポート以降のすべてになります。先頭のスラッシュなし /.

于 2013-11-10T01:56:06.813 に答える