Linux、シンプルなhttpプロキシ

Linux、シンプルなhttpプロキシ

余分な帯域幅とリソースを備えたデータ センターで Linux サーバーを実行しています。

プロキシ サービスを設定して、自宅からのすべての http/https トラフィックをルーティングできるようにしたいと考えています。ブラウザをプロキシと通信するように設定する方法はわかっていますが、サーバー側で設定する方法がわかりません。また、自分だけが使用できるように認証も必要です。

答え1

私が最も気に入っている方法は、ssh/SOCKS と SOCKS トンネリングを使用することです。

コロケーション サーバーで sshd が実行中であれば、それだけで十分です。

使用

ssh -D 9000 yourhost.foo.com

次に、127.0.0.1 ポート 9000 で SOCKS プロキシを使用するようにブラウザを調整します。

Firefox では、Foxyproxy を使用してプロキシ設定をすばやく変更するのが好きです。

詳細は、こちらでご確認ください。 SSH プロキシの詳細

答え2

議論には少し遅れましたが...

特に自分専用のサーバーの場合、tinyproxy の方が squid よりもセットアップが簡単で軽量だと思います。

重要なのは、データセンター サーバーが sshd を実行しているかどうかです。

もしそうなら、SSH を使用してポート転送を行うというこの回答により、認証の問題は自動的に解決されます。tinyproxy を 127.0.0.1 にバインドするように設定すると、SSH アクセス権を持つユーザーだけが接続できるようになります。

そうでない場合は、特定のホストまたは IP アドレスからの接続のみを受け入れるように tinyproxy を設定できます。自宅に静的 IP アドレスがある場合は、問題は解決します。

動的アドレスをお持ちの場合は、自宅の接続の一部からの接続を受け入れることもできます。たとえば、ISP が自宅の接続を 192-192-192-192-area1-san-fran-cal-usa のように設定している場合、tinyproxy を設定して area1-san-fran-cal-usa からの接続のみを受け入れるようにすることができます (これにより、接続の IP 部分は無視されます)。リスクは、他の area1 加入者がプロキシを検出して使用し始めることです。

これは私が VPS プロキシに使用しているもので、特に私の ISP の比較的狭い範囲の集水域にいるため、問題なく動作しています。私以外にこのプロキシを使用している人はいませんが、リスクがあることは承知しています (リスクは負ってもかまいません。他の誰かが使用しているのがわかったら、いつでも tinyproxy を変更できます)。

答え3

おそらく、このような状況では、何らかの一般的なソリューションを使用するのが良い選択でしょう。そのため、プロキシ サービスが必要な人には、できるだけ Squid をお勧めします。理由は複数あります。ドキュメントはどこにでもあること、基本的な要求やより具体的な要求に対する一般的なソリューションであること、そして最も重要なのは、私の経験では、単純な要求を持つクライアントが、プロキシ サービスに関してすぐに非常に高度な要求を持つクライアントになることがわかったことです。

答え4

これを行う最も簡単な方法は、SSH トンネルを使用することです。

ssh -D 8080 yourserver.com

これで、ブラウザを (SOCKS) プロキシに向けることができますlocalhost:8080。SSH
は 8080 を 127.0.0.1 (および ::1) にのみバインドするため、他のユーザーはそれを使用できません。

Windows を使用している場合は、Putty を使用してこのトンネルを確立することもできます。

関連情報