Saya memiliki aplikasi web yang berjalan di satu server dan menggunakan IIS dengan rewriteURL di server lain sebagai proxy terbalik.
Saya mengonfigurasi aturan masuk untuk menulis ulang alamat proxy terbalik dengan alamat server aplikasi web. Ini berfungsi dengan baik.
Namun, aplikasi ini memungkinkan pengguna mengunduh beberapa konten dan mengarahkan mereka ke alamat unduhan. Saat ini, pengguna diteruskan ke alamat IP lokal server aplikasi web, bukan alamat publik dari proxy terbalik.
Saya mengerti, saya perlu mengedit aturan keluar juga untuk memahaminya, tapi entah bagaimana saya tidak melakukannya dengan benar.
Saya mengikuti instruksi di sini https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/modifying-http-response-headers
dan aturan penulisan ulang saya saat ini terlihat seperti ini
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="er-platform" stopProcessing="true">
<match url="^er-platform(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://192.168.80.6:8443/{R:0}" />
<serverVariables>
<set name="ORIGINAL_HOST" value="{HTTP_HOST}" />
</serverVariables>
</rule>
</rules>
<outboundRules>
<rule name="er-platform" preCondition="IsRedirection" enabled="true">
<match serverVariable="RESPONSE_LOCATION" pattern="^(https?)://[^/]+/(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{ORIGINAL_HOST}" pattern=".+" />
</conditions>
<action type="Rewrite" value="{R:1}://{ORIGINAL_HOST}/{R:2}" />
</rule>
<preConditions>
<preCondition name="IsRedirection">
<add input="{RESPONSE_STATUS}" pattern="3\d\d" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
Saya masih dialihkan ke IP lokal ketika mencoba mengunduh sesuatu. Bagaimana saya perlu mengubah aturan agar hal ini benar?
Terima kasih,
Tomas