2017-06-23 30 views
0

リバースプロキシを使用して、自分のエンドポイントの1つを他の場所でホストされているリソースに割り当てる必要があります。私のプライマリサーバ(他のすべてがホストされている)はAzure Web Appにあり、それ以外は完全に動作しています。Azure Web AppでIISリバースプロキシが動作しない

私はそれの一番下に言及した他のリンクと一緒に、この一見failproof記事使用してきました:ベースラインとしてhttps://blogs.msdn.microsoft.com/zhiliang_xus_blog/2016/01/19/build-a-google-reverse-proxy-site-on-azure-web-app-in-less-than-3-minutes/

を、私はなし追加のコードを使用してWebアプリケーションを使用してリバースプロキシ機能することを確認しました。これは、web.configファイルとapplicationHost.xdtファイルを手動で作成または編集してから、サーバーを再起動することによって行われました。

    は、手動をリバースプロキシの手順に従ってください、それが動作を確認し、自分のコードをプッシュ
  1. 私は3つの別々のアプローチ(きれいな、新しいWebアプリケーション上のすべての)すべてが私のために失敗しているを試してみましたこれら3 approaの

  2. 私のコードベースにリバースプロキシファイルを置くと同時に、すべてをプッシュする

その後、私のコードをプッシュ
  • 、リバースプロキシが動作を確認し、手動手順に従ってくださいなしチェスは働いている。これはAzureのバグですか?これをどうやって調べることができますか?

  • 答えて

    0

    この特定のケースでの問題は、私のweb.configファイルの場所でした。

    私の場合、ではないsite\wwwrootだったアプリケーションのルートディレクトリにある必要があります。私のコードが生成され、site\wwwroot\distにコピーされました。そのディレクトリに設定ファイルを置くことで問題は解決されました。

    はまた、何が起こっているかのよういくつかの洞察を得るために有効にすることができるログがあります。​​

    1

    投稿したリンク/方法はリバースプロキシを実装するために書き換えURLを使用しました。私はそれをテストし、私の空のWebアプリケーションで正常に動作しました。 Azure Web App(たとえば、ASP.NET MVC Webアプリケーション)にWebアプリケーションを公開した後、URL Rewriteが機能しなくなりました。その理由は、Webアプリケーションへのすべての要求がASP.NETルートモジュールによってルーティングされるためです。

    一部のURLに対してURL書き換えを有効にするには、これらのURLのASP.NETルートを無効にする必要があります。たとえば、「product/xxx」形式のすべての要求を別のサイトに書き換える場合です。 RouteConfig.csファイルに次のコードを追加することができます。

    routes.Ignore("product/{action}"); 
    
    +0

    私はNode.jsのを使用している場合はどう?まあ、私は(現時点では)ノードサーバーを使用していなくても、一部の静的ページを生成するためのnpmモジュールだけではありません。 –

    +0

    申し訳ありませんが、私はnode.jsに精通していません。静的ページを生成するために使用されたnpmモジュールは、ルータとして機能します。これらのnpmモジュールから特定のURLを無視して問題を解決する方法を見つけることができます。 – Amor

    +0

    回避策は、仮想ディレクトリを作成し、この仮想ディレクトリにURL書き換えを構成することです。仮想アプリケーションとディレクトリを設定するには、Azureポータルの[アプリケーション設定]パネルで、各仮想ディレクトリとそのWebサイトルートに対応する物理パスを指定します。 – Amor

    1

    ポストXML変換(XDT)、サイトを再起動する必要がありますか?

    私はルスランからこのブログを見てみることをお勧めします:
    http://ruslany.net/2014/05/using-azure-web-site-as-a-reverse-proxy/

    それはサイトの拡張機能を使用して語ります。それはリバースプロキシを実装し、あなたのためにXDT変換を行います。

    上記が正しく設定されている場合は、URL書き換えルールに問題があります。 失敗した要求トレースを有効にしてこれをさらにデバッグすることをお勧めします。

    関連する問題