Nginx仮想ホストとセキュリティ認証
一、Nginx仮想ホスト構成
構成を説明する前に、仮想ホストとは何かを理解しなければなりません.もし2つの異なるドメイン名のサイトがあれば、サーバーが1台しかありません.この場合どうすればいいですか.実はnginxやapacheを利用して、1台のマシンで複数のマシンをシミュレートしてサーバーとしてサービスを提供することができます.仮想ホストとは、1台の物理サーバを複数の「仮想」に分割するサーバであり、各仮想ホストには独立したドメイン名と独立したディレクトリがあります.まず、最も簡単な仮想ホスト構成の例を見てみましょう.
複数の仮想ホストの構成
二、Http安全認証
まず、自分のNginxが正常に動作していることを確認します.
それからhtpasswdツールを使ってパスワードを生成して、なければyumを使ってインストールすることができます
ページにアクセスするとパスワードを入力してユーザーを検証するよう求められます●一致するリソースの一部を検証したい場合は、locationに1、2項目を入れて検証したいファイルに一致させてください●グローバルに検証に参加したい場合は、サーバブロックにプロファイルを入れてください
構成を説明する前に、仮想ホストとは何かを理解しなければなりません.もし2つの異なるドメイン名のサイトがあれば、サーバーが1台しかありません.この場合どうすればいいですか.実はnginxやapacheを利用して、1台のマシンで複数のマシンをシミュレートしてサーバーとしてサービスを提供することができます.仮想ホストとは、1台の物理サーバを複数の「仮想」に分割するサーバであり、各仮想ホストには独立したドメイン名と独立したディレクトリがあります.まず、最も簡単な仮想ホスト構成の例を見てみましょう.
server {
listen 80; # 80
server_name www.lzh.com; #
location / {
#
index index.html;
root /nginx/html/; # /nginx/html/
}
}
複数の仮想ホストの構成
www.lzh.com -> /nginx/html
www.sqq.com ->/nginx/text
#
server {
listen 80;
server_name www.lzh.com;
# , ,
autoindex on;
index index.html;
root /nginx/html/;
}
server {
listen 80;
server_name www.sqq.com;
index index.html;
root /nginx/text/;
# self
location /(html)/ {
deny all;
}
}
二、Http安全認証
まず、自分のNginxが正常に動作していることを確認します.
[root@localhost local]# ps aux|grep nginx
root 2156 0.0 0.0 24844 720 ? Ss 23:08 0:00 nginx: master process ./nginx/sbin/nginx
nobody 2157 0.0 0.1 27372 1424 ? S 23:08 0:00 nginx: worker process
nobody 2158 0.0 0.1 27372 1424 ? S 23:08 0:00 nginx: worker process
root 2314 0.0 0.0 112660 968 pts/0 R+ 23:09 0:00 grep --color=auto nginx
[root@localhost local]#
それからhtpasswdツールを使ってパスワードを生成して、なければyumを使ってインストールすることができます
yum -y install httpd-tools # htpasswd
cd /etc/nginx/ #
htpasswd -c ./auth lzh # htpasswd auth , lzh
more ./auth # auth ,
server {
listen 80;
server_name localhost;
auth_basic "Auth access test!input your passward!"; #1,
auth_basic_user_file /nginx/auth; #2,
#charset koi8-r; #access_log
/var/log/nginx/host.access.log main;
location / {
root /opt/server;
index index.html index.htm;
}
}
ページにアクセスするとパスワードを入力してユーザーを検証するよう求められます●一致するリソースの一部を検証したい場合は、locationに1、2項目を入れて検証したいファイルに一致させてください●グローバルに検証に参加したい場合は、サーバブロックにプロファイルを入れてください