Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> nginxの設定ディレクトリの保護、抗ホットリンク、スピード、マルチドメイン方式

nginxの設定ディレクトリの保護、抗ホットリンク、スピード、マルチドメイン方式

  

nginxのは非常に良いHTTPサーバソフトウェアで、あなたはそのようなディレクトリの保護、IPアクセス制限、アンチホットリンク、ダウンロード速度制限として、機能を提供することで、多くのことを達成することができます複数のドメイン名などを設定します。 nginxの設定ディレクトリの

A、nginxのディレクトリの保護とアクセス制限

保護は、パスワードで保護されたファイルのディレクトリは/usr /local /nginxの/htpasswdは

場所〜/adminで、次のように保護するディレクトリ名の{#adminは、場所はつまり、WebルートディレクトリのadminディレクトリAUTH_BASIC&'から数えての保護;フォルダは/usr /local /nginxの/htpasswdのを入力する際の情報auth_basic_user_fileはログインしてください';#が表示されます;#ユーザ認証とパスワード・ファイルは、Iは/usr /local /nginxの/htpasswdは}場所〜の.php $ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.phpの側に設定されている。fastcgi_param SCRIPT_FILENAMEの/var /www /のBBS $ fastcgi_script_name; fastcgi_paramsを含む、パスワードで保護されたディレクトリを設定する場合場所〜.PHP $ {}内に配置されている場合}

は、オープンが静的ページである場合、バックブロック、配置されたブロックの位置に注意し、なおあなたは、PHPファイルを開いた場合や他の非PHPファイルや画像、あなたは、パスワードを入力するように求め、されますが、設定は無効となり、PHPファイルを直接実行して表示されます。そのため、場所の。〜php $ {}ブロックの前にディレクトリパスワードで保護されるブロックを必ず配置してください。
生成されたパスワードファイル:

のhtpasswd -b -cは/usr /locla /nginxの/htpasswdはユーザ名・パスワード;

2、nginxのセキュリティチェーン

また、nginxの安全チェーンが他人を防ぎますもちろん、サーバセグメントの低下と同様、OKプラス

 <オール> 
  • 場所〜*(TXT |!;(映像、フラッシュ、ソフトウェア&hellip)図を盗みます イコ GIF | Png | Bmp | Jpg | Jpeg ジップ| Rar | Gz | 7z エグゼ| mp3 | Flv | SWF)$ {
  • valid_referersなし遮断opsers.org www.opsers.org;
  • IF($のinvalid_referer){
  • 書き換え^ /
  • }
  • }

    今回の場所はWebのルートディレクトリからの保護、ファイルのすべての種類を数えるが無いことを意味し、何もブロックさをvalid_referersない
    この規則に従って指定されていることを意味しますバリアこんにちは〜ここでは、スペースで区切っする場所からIPドメインや位置を許可する

    $ invalid_refererカップリング手段が
    許可されている

    ^ /意味書き換えるリンクを指定することで自動操舵を許可していません。ページに移動するか、すでに404アドレスを設定している場合は、この行のコメントを外して#return 404注釈を削除しても、設定した404ページに自動的に移動します。

    盗難防止チェーンが有効であるかどうかを確認するには、サービスログを直接見て、テストするWebサイトを使用しないでください。何人かの恥知らずな人(Baiduのような)のために、彼はサービスを提供するために彼自身の画像サーバーを使用します。私がこれをやっていた最後の時間に、私は多くの時間を無駄にしたのはこのためです。

    3、

    nginxの
    nginxのダウンロードの速度制限は、ダウンロード制限速度を制限して、スレッドすることができます!HTTP最初のセクションで発見limit_zone、その後、〜

     <オールコメントを削除> 
  • #は20メガバイトの
    のサイズ
  • limit_zoneクローラ$ 20メートルbinary_remote_addr、クローラの地域を設定するために呼び出されます。
  • その後、
  • #限られたサーバーセクションを追加ファイルの種類は1行からのみダウンロードできます。
  • location〜。*。(zip | zip) Rar | Gz | タール エグゼ| mp3 | Flv | Swf | Jpg | JPEG)$ {クローラ1 limit_conn
  • ;
  • limit_rateの500K;#プラス制限速度
  • }
  • のみ特定のフォルダ下#制限一ダウンロード
  • #ロケーション/ダウンロード/{
  • クローラ1 limit_conn#;
  • #1 limit_rateの500K;#プラス速度
  • #} < BR>

    4、

    今日、プログラムで構成PHP + nginxの、nginxの仮想ホスト上の鍋に結合ドメインにおいて深刻な問題の出現は、2を使用する必要が
    nginxのマルチドメインの設定レベルドメイン名は異なるコンテンツを指していますが、とにかくプライマリドメイン名にしかアクセスできません。 1つのテストずつ、以下の結論を見つけていないために:いくら結合ドメイン、$ _SERVERで[" SERVER_NAME"すること;]のみ第一の結合ドメインの仮想ホストを返します!

    次のような結合ドメイン:今、私は何のドメイン名を気にしない

    サーバー名www.fxzc.com * .fxzc.com fxzc.com


    、$ _SERVER [" SERVER_NAME"]はwww.fxzc.comにのみ戻ります。 !これは非常に深刻な問題で、汎ドメイン名に致命的な影響を及ぼします。

    問題があるので、確かに解決策があります。 。メインウィキでは、最終的な情報は、必要に応じた、長いNをめくりました!オリジナル:$ _ SERVER [" SERVER_NAME"]戻り値がSERVER_NAMEにnginxののfastcgi_paramによって提供され、デフォルトの設定である:

     
    1. fastcgi_param SERVER_NAME $サーバー名;
      < BR>

      サーバー名の可変ドメインは、上記設定されているnginxの$でのみ最初に戻ります!

      扱いやすい。この時、上記の設定変更:

       <オール> 
    2. fastcgi_paramのSERVER_NAMEの$ホスト;

      の行に。

      また、バックのサーバー名の設定で行を追加する必要があります。server_name_in_redirect

       <オール> 
    3. オフ;

      nginxのは、自分の中で内部リダイレクトを扱っていることを意味してい最初のドメイン名に設定されたサーバー名を使用する場合、デフォルトはありません!

  • Copyright © Windowsの知識 All Rights Reserved