web-dev-qa-db-ja.com

CloudFlareが8080からコンテンツを取得して80で提供することは可能ですか?

CloudFlareが私のサーバーがポート8080経由で提供するコンテンツを取得し、ポート80でユーザーに提供することは可能ですか?

たとえば、次のIPアドレス0.0.0.0とドメインexample.gaがあります(CloudFlareに登録されています)。 CloudFlareは0.0.0.0:8080からコンテンツを取得してexample.ga:80に表示できますか?

5
Theo

私の知る限り、いいえ。無料プランのCloudFlareはポート変換を実行できません。ポート80でリクエストを行うと、CloudFlareはそれをポート80のOriginに送信します。CloudFlareは基本的に見えません。企業計画では、CloudFlareがこれを行うことができる場合があります。

サーバーがポート8080にある場合、 リバースプロキシ をインストールする必要があります。これは、アプリケーションサーバーと同じサーバー上でも、別のサーバー上でもかまいません。別のサーバーで、適切なファイアウォールルールを使用して、 [〜#〜] dmz [〜#〜] を作成できます。これにより、セキュリティが向上します。

Nginxは、アプリサーバーと同じサーバーまたは別のサーバーで、リバースプロキシとして非常に一般的に使用されます。 Nginxは、ポート80でリクエストを簡単に受け入れ、ポート80で実行されているアプリサーバーに渡すことができます。非常に軽量で、CPUまたはRAMをほとんど必要としません。

Nginxは、定義されたルールに基づいてページをキャッシュし、静的リソースまたは匿名ページの提供を加速することもできます。キャッシュからページを提供することは、ページを再度生成するよりもはるかに少ない作業で済みます。 Nginxリバースプロキシ ここにガイド 。私は Nginx/Wordpressガイド も持っています。これは、匿名ユーザーのログインページではなく、ログインユーザーのページをキャッシュする方法のいくつかの例を示します。

コメントに基づいて更新

どうやらLinuxでは、iptablesを使ってポートをリダイレクトすることができます。たとえば、ポート8080で実行されているサーバーはポート80で応答できます。非特権ユーザーは1024未満のポートをリッスンできないため、これはroot特権としてユーザーがセットアップする必要があります。

4
Tim

あなたが探しているものは「リバースプロキシ」と呼ばれています。これは、別のサーバー上のコンテンツへのアクセスポイントとして機能するWebサーバーです。新しいバージョンのWindows Serverでは、「アプリケーションプロキシ」というラベルが付けられています。これらは、別のサーバーからコンテンツを要求するように構成したり、内部HTTPサーバーからプルしたプロキシにHTTPSを要求したりするように構成できます。理想的には、すべてがHTTPSである必要があります。それがあなたの質問に答え、あなたが探すべきものを与えることを願っています。

0
Cory Knutson