nginxサーバーを機能させるだけでなく、ルートフォルダーへのアクセスを保護するように構成することもできます。私の調査結果をあなたと共有したいと思います。また、途中で、このページの質問に対して適切で実用的な回答を提供します。
nginx(バージョン1.10.0-Ubuntu)の新規ユーザーとして。私が抱えている最初の問題はファイルの場所を知ることだったので、ここに重要な場所があります:
あなたの場所を知っている:
メインフォルダの場所: /etc/nginx
デフォルトのサイトの場所:/var/www/
または/ver/www/html/
(html
フォルダー内にindex.htmlファイルがあります-そこから何をすべきかを知っていることを願っています)。
構成ファイル:
メイン構成ファイル:/etc/nginx/nginx.conf
現在のサイトサーバーの設定:(/etc/nginx/sites-enabled
最初のインストール時に、と呼ばれる単一のファイルがあり、それを変更できるようにするに
default
はを使用する必要があります(例:)sudo
sudo vi default
パスワードを追加します。
それで、プレーヤーがわかったので(とにかく静的なすぐに使えるサイトの場合)、いくつかのファイルを「html」フォルダーに入れて、それにパスワード保護を追加しましょう。
パスワードを設定するには、次の2つのことを行う必要があります。1。パスワードファイルを作成します(必要な数のユーザーを使用しますが、1で解決します)。2.このページを制限するように現在のサーバー(「デフォルト」)を構成し、1のファイルを使用してパスワード保護を有効にします。
1.パスワードを作成しましょう:
これに使用したい行は次のとおりです:(
sudo htpasswd -c /etc/nginx/.htpasswd john
パスワードの入力と再入力を求めるプロンプトが表示されます)ここで1行で実行できます:
sudo htpasswd -c /etc/nginx/.htpasswd john [your password]
コマンドの各部分について説明します。
sudo htpasswd
-より高い権限を使用して実行します。
-c
--for:ファイルを作成します(既存のユーザーに別のユーザーを追加するには、この引数をスキップします)
/etc/nginx/.htpasswd
-作成されたファイルの名前(/ etc /nginxフォルダー内の「.htpsswd」)
john
ユーザーの名前です(プロンプトが表示された「user」フィールドに入力します)
password
この特定のユーザー名に必要なパスワードです。(プロンプトが表示されたら..)
通常、htpasswd
コマンドは機能しないため、次のパッケージをインストールする必要があります。
使用:(sudo apt-get install apache2-utils
失敗した場合は、使用しsudo apt-get update
て再試行してください)
2.このファイルを認証に使用するようにサーバーを構成しましょう
この行を使用して、現在の(デフォルトの)サーバーconfファイルを編集してみましょう。
sudo vi /etc/nginx/sites-enabled/default
(「vi」を使用する必要はありませんが、私はそれが好きです。)
ほとんどのコメント(#)を削除すると、ファイルは次のようになります。
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
ブロック内に場所(「/」はサイトのルートフォルダを指す)の2行を追加する必要があるため、次のようになります。
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
これらの新しい行について説明します。
auth_basic "Restricted Content";
-アクセス管理のタイプを定義します
auth_basic_user_file /etc/nginx/.htpasswd;
-作成したファイル(/etc/nginx/.htppasswd)をこの認証のパスワードファイルとして定義します。
サービスを再起動して、パスワードで保護されたサイトを楽しんでみましょう。
sudo service nginx restart
ビオラ-お楽しみください...
これについては、さらに優れたチュートリアルがいくつかあります。
とても良い説明
別のgooチュートリアル