ホームページ > バックエンド開発 > PHPチュートリアル > nginxは匿名のhttpフォワードプロキシを設定します

nginxは匿名のhttpフォワードプロキシを設定します

WBOY
リリース: 2016-08-08 09:22:38
オリジナル
2042 人が閲覧しました

長い間ブログを書いていませんが、問題に遭遇したときは、いつでもインターネットで専門家が書いた記事を見つけることができます。以前はやることが多かったので、時間があるときにもっとブログを書いて、遭遇した問題の解決策をブログに書き留めて、みんなと共有したいと思います。時間があるときはいつでも、普段遭遇する問題についてブログを書いて、より多くの人と共有すると、みんなが寄り道をしなくて済むようになります。

私はここ 2 日間 nginx のフォワード プロキシについて研究しており、nginx を介して http プロキシ サーバーを構築したいと考えています。Web サイト (http://www.cnblogs.com/inteliot/archive/2013) でこの記事を見つけました。 /01/11/2855907 .html):

[Squid]と同じ機能を持ち、フォワードプロキシに適したNginx Http Proxyプロキシサーバーを設定します HTTP ウェブサイト。 1. Nginx フォワード プロキシ構成ファイル:
server {
    resolver 8.8.8.8;
    resolver_timeout 5s;
 
    listen 0.0.0.0:8080;
 
    access_log  /home/reistlin/logs/proxy.access.log;
    error_log   /home/reistlin/logs/proxy.error.log;
 
    location / {
        proxy_pass $scheme://$host$request_uri;
        proxy_set_header Host $http_host;
 
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0;
 
        proxy_connect_timeout 30;
 
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 301 1h;
        proxy_cache_valid any 1m;
ログイン後にコピー
<span>#allow 127.0.0.1;
            #deny all;</span>
ログイン後にコピー
<pre class="brush:php;toolbar:false">    }
}
ログイン後にコピー
2. Nginx フォワード プロキシ構成手順: 1. Google Public DNS などの DNS 解決 IP アドレスとタイムアウトを構成します。
resolver 8.8.8.8;
resolver_timeout 5s;
ログイン後にコピー
2、フォワード プロキシ パラメーターを構成します。これらはすべて Nginx 変数で構成されます。構成の proxy_set_header 部分は、URL に「.」(ドット) が含まれている場合の Nginx 503 エラーを解決します。
proxy_pass $scheme://$host$request_uri;
proxy_set_header Host $http_host;
ログイン後にコピー
3. キャッシュ サイズを構成し、ディスク キャッシュの読み取りと書き込みをオフにして、I/O とプロキシ接続のタイムアウトを減らします。
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
ログイン後にコピー
4、プロキシサーバーのHTTPステータスキャッシュ時間を設定します。
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
ログイン後にコピー
三、プロキシHTTPSウェブサイトはサポートされていませんNginxはCONNECTをサポートしていないため、プロキシHTTPSウェブサイト(オンラインバンキング、Gmail)を転送できません。
https://www.google.com などの HTTPS Web サイトにアクセスすると、Nginx access.log ログは次のようになります:
"CONNECT www.google.com:443 HTTP/1.1" 400
ログイン後にコピー

著者の文章は素晴らしいですが、構成中に問題が発生しました。設定されたプロキシ アクセス ページはすべて 404 を報告しました (私の nginx バージョン: 1.2)。後で、proxy_pass:

proxy_pass $scheme://$host$request_uri;
ログイン後にコピー
を次のように変更する必要があることがわかりました。
proxy_pass $scheme://$http_host$request_uri;
ログイン後にコピー

さらに、IP制限を追加しました。必要に応じて、上のコメントを開いてください:

allow 127.0.0.1;
deny all;
ログイン後にコピー

上記のコードは使用できることが確認されています。サーバー側で取得されたコードは次のとおりですが、なぜこれがプロキシ接続をもたらしたのかはわかりません。これは高度な匿名性ではなく、通常の匿名性としか考えられません。
ヘッド情報:{content-type=application/x-www-form-urlencoded; charset=UTF-8、c content-length=42、user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ( KHTML、Gecko など) Chrome/40.0.2214.111 Safari/537.36、proxy-c/pre><br>
                
                
                <p>
                    上記では、匿名 http フォワード プロキシを設定するための nginx について、関連する側面も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。 </p>
                <p>
                    </p>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート