2016-10-26 14 views
1

私はこれに関するいくつかの質問を検索しましたが、私のシナリオには遭遇しません。誰かがオンラインサイトからコンピュータを購入したいときNginx:元のURLを変更せずに書き直し/ Proxy_Pass

私の顧客acmecorporationは、次のURLのbuysomething.acmecorporation.com/computersを使用しています。ここでは

は、私は必要なものです。ただし、これを販売している実際のベンダーにリダイレクトする必要があります。

computers.world.com - acmeを (例として)に翻訳する必要があるすべてのコンテキストprinters.world.com

ブラウザ上のURLがcomputers.world.comに変わりしかし -

私は、ベンダー

 location /computers { 
     rewrite ^/(computers.*)$ https://computers.world.com; 
     proxy_set_header request_uri $request_uri; 
     proxy_pass https://buysomething.acmecorporation.com/computers; 
    } 

サイトが正常に開くと協力し、そのために管理しています。どのようにベンダーは、企業の継続性を維持しなければならないのでしょうか?

それとも私の顧客(アクイコーポレーション)側の変更ですか?

ありがとうございます!

+0

あなたは、nginx経由で元のURLを維持している外部のウェブサイトにリダイレクトできないと思います。しかし、あなたはhtmlのiframeを使ってそれを行うことができます。 – alejdg

+0

私も同様のことをやろうとしています。どんな助けもありがとうございます。 – andi

答えて

0

nginx経由で元のURLを維持している外部のウェブサイトにリダイレクトすることはできません。しかし、あなたはHTML framesetによってそれのような何かをすることができるでしょう。

buysomething.acmecorporation.com/computersにアクセスすると、アプリケーションが以下のhtml(無<html>または<body>タグ)をレンダリングする必要があります。

<frameset rows="100%"> 
    <frameset cols="100%"> 
    <frame src="https://computers.world.com" frameborder="0" > 
    </frameset> 
</frameset> 

方法computers.world.comがページ内にロードされ、URLが変更されません。

+0

はい、これはできました。しかし、nginxの観点から見ていた。ありがとう! – user2959260

+1

あなたが指している宛先Webサーバがホスト名buysomething.acmecorporation.comに応答するように設定されていない限り、できません。リダイレクションポイントが第三者のサイトであるため、あなたのシナリオでは可能ではないと私は考えています。 – alejdg

+0

うん、同意していただきありがとうございます! – user2959260

関連する問題