ポート80がブロックされたネットワーク上のステージ環境の作成
-
05-07-2019 - |
質問
現在、ローカルWebサーバーを使用して、衣装製作者が一部のアプリケーションをプレビューしたり、「ナイトリービルド」のダウンロードを許可したりしています。私のオープンソースライブラリの。
問題はISPを変更し、現在ポート80がブロックされていることです。
Apacheサーバーのポートを簡単に変更できることはわかっていますが、代替手段がない限り、それを避けたいと思います。
私のウェブサイトへのポート転送を行うサードパーティのサービス(無料または有料)を知っていますか?
私が聞いた別のアイデアの1つは、現在のWebホストからのmod rewriteを使用してドメインに書き換えることでしたが、この方法は避けたいと思います。それに加えて、実際に機能する.htaccessの例を知っていますか?私はこれを試しました:
RewriteEngine on
RewriteRule ^/(.*) http://www.example.com:8080/$1
しかし、機能していないようです。
解決
私がやりたいのは、貸衣装のためです タイプ http://myaddress.com/hello/there?a=1&b=2 そしてそれはに翻訳されます http://mylocalserver.com:8080/hello/there?a=1& b = 2 再び貸衣装に戻ります 透明な方法。
これは、任意のURLをリダイレクトするためにあなたが探しているApache RewriteRuleだと思います:
RewriteRule ^(.*)$ http://mylocalserver.com:8080$1 [R]
それ以降、顧客は mylocalserver.com:8080
を閲覧し、アドレスバーに表示されます。 「そしてまた戻る」という意味の場合彼らはまだ myaddress.com
を閲覧していると考えているということです。あなたが話しているのは、プロキシサーバーの書き換えです。
これにより、HTTPヘッダーだけでなくHTMLコンテンツでもすべてのURLを書き換え(HTMLで正規表現検索/置換を実行)、GET、POSTをすべてデコード、書き換え、再送信する必要があります、PUTデータも。私はかつてそのようなプロキシを書きましたが、原理は単純に思えるかもしれませんが、それは簡単な練習ではないことを教えてください。
リダイレクトを機能させて、その時点から mylocalserver.com:8080
を閲覧させていただければ幸いです。
他のヒント
"そして再び透明な方法で貸衣装に戻ってください" ....は問題にならないようにNATによって処理されます。
ある文字列から別の文字列へのリクエスト変換を処理するには、サーバーに到達する前にリクエストを変換する必要があるため、これは問題です。ある種のURL転送サービスを調べます
http://www.dnsexit.com/Direct.sv?cmd=webforward
また、プロバイダーサーバーに別のサイトをセットアップし、サーバー上の特定のアドレス/リンクにリクエストを転送させることもできます。
これがお役に立てば幸いです!
ポート80がブロックされている場合、クライアントがドメイン内の新しいポートを指定しない限り、ダイナミックサービスを介したルーティングは役に立ちません。
ローカルルーターを「ポート転送」してください。新しいポート(8080など)からポート80へのトラフィック。すべてをそのままにしておきます。
DynDNS.orgでアカウントを作成し、動的サービスを設定します。次に、クライアントに http://mydomain.com:8080
を実行させますトリックを行う必要があります
まだ実際のISPではないため、Rolfの提案を調べてください。
ありがとう
ISPにポート80を開放させることができず、ISPを切り替えることができない場合は、htacccessリダイレクトディレクティブを使用します。
301リダイレクト/ http://yourserver.com:8000/
ユーザーはリダイレクトに気付くかもしれませんが、おそらく気にしません。
まあ、答えを高く評価しても、最終結果には満足できませんでした。私は、ISPの変更が私のコスチューターに対して透過的であることを望み、それをうまく機能させることができたと思います。
これが私がしたことです:
安価なVPSサーバー- VPSLink を採用し、最も安価なプランを選択しました:64Mb RAM、2Gb HD、1Gb毎月のトラフィック。生涯10%の割引の後、月額7.16米ドルで、仕事にかなり手頃な価格で、ボーナスとしてサンドボックスVPSサーバーを入手できます。ホスティングはこれまでのところとても良いようです-問題ありません。試してみたい場合は、上記のサイトから、または紹介コードを使用してサインアップできます。インターネット上で利用可能な束があります、あなたはただ検索する必要があります。また、必要に応じて簡単に作成できます。この回答にコメントを残してください。10%オフになり、1か月間無料です。この投稿の背後にある意図のように見えるかもしれないので、私はここに直接投稿しません。
このアカウントは管理されていませんが、ルートアクセスを提供します。次に、ポート80リクエストのプロキシとして機能するようにApacheを設定し、ポート8081のローカルWebサイトに透過的に転送します。
以下に、Apacheのhttpd.conf構成ファイルのスニペットを示します。
VPSサーバーの構成:
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com *.mydomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)\.mydomain\.com [NC]
RewriteRule (.*) http://mylocalserverdns.mydomain.com:8081/%1$1 [P]
</VirtualHost>
これにより、 http://subdomain1.mydomain.com/script?a=bのようなリクエストが行われます。 サーバー側で透過的に http:// mylocalserverdnsに転送されます。 mydomain.com:8081/subdomain1/script?a=b なので、そこから好きなことができます。
ローカルサーバーで、サブドメインハンドラーを配布するために同じことを行いました。たとえば、ポート8088と8089でローカルに実行される2つのJavaサーバーアプリケーションがあります。私がしなければならなかったのは、もう内部的にプロキシを転送することだけでした。今では内部的に
ローカルサーバーの構成:
<VirtualHost *:8081>
ServerName mylocalserverdns.mydomain.com
ProxyPass /app1 http://127.0.0.1:8088
ProxyPassReverse /app1 http://127.0.0.1:8088
ProxyPassReverse /app1 http://mylocalserverdns.mydomain.com:8088/app1
ProxyPass /app2 http://127.0.0.1:8089
ProxyPassReverse /app2 http://127.0.0.1:8089
ProxyPassReverse /app2 http://mylocalserverdns.mydomain.com:8089/app2
</VirtualHost>
他の誰かが同じ選択肢を探しているなら、これは価値があることを願っています。
ほとんどのDynamicDNSサービスはポート転送を許可していると思います。
ISPにその理由を尋ね、回答が得られない場合は、ISPを再度切り替えます。