IIS、URL書き換えがApacheTomcatのリバースプロキシとして機能しています。
example.com/app/はexample.com:8080/app/にリダイレクトします。ポート80は、同じサーバー上のポート8080にリダイレクトします。
Example.com/app/にアクセスすると、期待どおりに機能します。ただし、example.com/app(末尾のスラッシュなし)にアクセスすると、404エラーが発生します。
インバウンドルールに一致するパターンは^app/(.*)
です。次に、アクションはURLに書き換えますhttp://127.0.0.1:8080/app/{R:1}
。
末尾のスラッシュなしでこれを機能させる方法についての提案はありますか?
私は同様の問題を抱えていて、2つのルールを作成することでそれを修正することができました
検索パターン:^ app $
リダイレクトURL:app /
検索パターン:^ app /(。*)
uRLを書き換えます: http://127.0.0.1:8080/app/ {R:1}
Thomasの答えを詳しく説明するために、ルールが作成された後の構成ファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="ReverseProxyInboundRule2" stopProcessing="true">
<match url="^app$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="app/" />
</rule>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://localhost:8080/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>