1

現在、私は自分のローカル Web サーバーを使用して、顧客がいくつかのアプリケーションをプレビューできるようにし、オープン ソース ライブラリの「ナイトリー ビルド」をダウンロードできるようにしています。

問題は、ISP を変更したため、ポート 80 がブロックされていることです。

Apache サーバーのポートを簡単に変更できることはわかっていますが、代替手段がない限り、それは避けたいと思います。

私のウェブサイトへのポート転送を行い、誰かがアクセスするのを透過的にするサードパーティのサービス (無料または有料) を知っていますか?

私が聞いたもう 1 つのアイデアは、現在の Web ホストから mod rewrite を使用して自分のドメインを書き換えるというものでしたが、私はこの道をたどりたくありませんでした。それ以外に、実際に機能する .htaccess の例を知っていますか? 私はこれを試しました:

RewriteEngine on
RewriteRule ^/(.*) http://www.example.com:8080/$1

しかし、それは機能していないようです。

4

7 に答える 7

2

「そして再び透明な方法で貸衣装に戻る」....NATによって処理されるため、問題になることはありません.

ある文字列から別の文字列へのリクエストの変換を処理するには、サーバーに到達する前にリクエストを変換する必要があるため、これは問題です。ある種の URL 転送サービスを調べる

http://www.dnsexit.com/Direct.sv?cmd=webforward

また、プロバイダーサーバーに別のサイトをセットアップして、サーバー上の特定のアドレス/リンクにリクエストを転送させることもできます.

お役に立てれば!

于 2008-10-04T22:26:57.110 に答える
1

ええと、答えは良かったのですが、最終的な結果には満足できませんでした。ISPの変更をコスチュームに対して透過的にしたかったので、なんとか機能させることができたと思います。

これが私がしたことです:

私は安価なVPSサーバー(VPSLink )を採用し、最も安価なプランを選択しました。64MbRAM、2Gb HD、1Gbの月間トラフィックです。生涯10%の割引後、月額わずか7.16米ドルで、この仕事にはかなり手頃な価格で、ボーナスとしてサンドボックスVPSサーバーを利用できます。ホスティングはこれまでのところとても良いようです-問題ありません。試してみたい場合は、上記のサイトからサインアップするか、紹介コードを使用してサインアップできます。インターネット上にはたくさんの利用可能なものがあります、あなたはただ検索する必要があります。また、必要に応じて簡単に作成できます。この回答にコメントを残してください。10%オフになり、1か月間無料になります。この投稿の背後にある意図であるように思われるかもしれないので、ここに直接投稿することはしません-そうではありませんでした。

このアカウントは管理されていませんが、rootアクセスを提供します。次に、ポート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>

他の誰かが同じ代替案を探しているなら、これが価値があることを願っています。

于 2008-10-06T01:22:21.467 に答える
1

ポート 80 がブロックされていると、クライアントがドメインで新しいポートを指定しない限り、ダイナミック サービス経由のルーティングは役に立ちません。

ローカル ルーターに、新しいポート (8080 など) からポート 80 へのトラフィックを "ポート転送" させます。

DynDNS.org でアカウントを作成し、動的サービスをセットアップします。次に、クライアントにhttp://mydomain.com:8080を実行してもらいます

それはトリックを行う必要があります

彼らは本当のISPではないので、Rolfの提案をまだ調べてください....真剣に。

ありがとう

于 2008-10-04T22:03:46.750 に答える
1

ISP にポート 80 を開いてもらうことができず、ISP を切り替えることができない場合は、htacccess リダイレクト ディレクティブを使用します。

リダイレクト 301 / http://yourserver.com:8000/

ユーザーはリダイレクトに気付くかもしれませんが、気にしないでしょう。

于 2008-10-04T22:06:38.103 に答える
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、その時点から閲覧できるようにしていただければ幸いです。

于 2008-10-04T23:29:49.497 に答える
0

ほとんどの DynamicDNS サービスでポート転送が許可されていると思います。

于 2008-10-04T21:56:24.520 に答える
0

ISP に理由を尋ねて、答えが得られない場合は、ISP をもう一度切り替えてください。

于 2008-10-04T21:56:58.247 に答える