Azure Webサイトで合理的に標準的なリバースプロキシの配置を設定する方法を教えてもらえますか?
(Azureでホストされている)www.site.co/blogに(Azureでホストされていない)ワードプレスサイトをblog.site.coに表示して、ユーザーにURLの変更が表示されないようにしたいと思います。
ApplicationHost.xdtがアップロードされます。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />
<rewrite>
<allowedServerVariables>
<add name="HTTP_X_USE_HTTPS" xdt:Transform="InsertIfMissing" />
<add name="HTTP_X_ORIGINAL_HOST" xdt:Transform="InsertIfMissing" />
<add name="HTTP_X_UNPROXIED_URL" xdt:Transform="InsertIfMissing" />
<add name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" />
<add name="HTTP_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" />
</allowedServerVariables>
</rewrite>
</system.webServer>
</configuration>
Web.Configに含まれるもの:
<rule name="Proxy" stopProcessing="true">
<match url="^blog/?(.*)" />
<action type="Rewrite" url="https://blog.site.co/{R:1}" />
<serverVariables>
<set name="HTTP_X_UNPROXIED_URL" value="https://blog.site.co/{R:1}" />
<set name="HTTP_X_USE_HTTPS" value="{HTTPS}"/>
</serverVariables>
</rule>
次のエラーが発生します:
「HTTPエラー500.50-URL書き換えモジュールエラー。サーバー変数「HTTP_X_UNPROXIED_URL」の設定は許可されていません。サーバー変数名を許可されたサーバー変数リストに追加してください。」
を使用xdt:Transform="InsertIfMissing"
して同じ親の複数の子要素を同じタグ名(<add>
)で設定する場合は、も使用する必要がありますxdt:Locator="Match(name)"
。そうしないと、XDTシステムは最初の <add>
要素のみを挿入します。
したがって、あなたの場合、XDTシステムは挿入する<add name="HTTP_X_USE_HTTPS" />
だけですが、<add />
要素がすでに存在するため、他の要素をコピーしません。
(ソース変換ドキュメントで複数の要素または要素が指定されていない場合、XDTを改善してエラーをスローする必要があると思います)Insert
InsertIfMissing
xdt:Locator
だからあなたapplicationHost.xdt
をこれに変えてください:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false" reverseRewriteHostInResponseHeaders="false" />
<rewrite>
<allowedServerVariables>
<add name="HTTP_X_USE_HTTPS" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
<add name="HTTP_X_ORIGINAL_HOST" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
<add name="HTTP_X_UNPROXIED_URL" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
<add name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
<add name="HTTP_ACCEPT_ENCODING" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
</allowedServerVariables>
</rewrite>
</system.webServer>
</configuration>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加