Nginx虛擬主機及訪問控制
阿新 • • 發佈:2018-06-14
ref -o location www. 技術 secret 能夠 htm pass 在上一篇Nginx服務構建及訪問狀態統計的基礎上,嘗試完成Nginx虛擬主機及訪問控制實驗。
實驗環境:
RHEL6-5(IP地址192.168.100.110)
Win7-1(IP地址192.168.100.202)配置虛擬主機實驗過程:
1.修改主配置文件
# vim /usr/local/nginx/conf/nginx.conf 在配置文件的末尾單獨插入就不會有影響,註意格式(主要就是註意括號問題!) server { server_name www.benet.com; location / { root /var/www/benet; index index.html index.php; } } server { server_name www.accp.com; location / { root /var/www/accp; index index.html index.php; } } } //這個括號需要把原文件末尾的括號給去掉,用nginx -t 去檢測配置文件是否配置正確//
2.搭建DNS域名解析服務,解析域名分別為www.benet.com;www.accp.com,對應的IP地址為192.168.100.110(Nginx服務端地址)
3.創建配置文件中對應的根目錄,並分別添加首頁內容
# mkdir /var/www/benet /var/www/accp # vim /var/www/benet/index.html //添加並編輯benet首頁文件 this is benet //寫入首頁內容 # vim /var/www/accp/index.html //添加並編輯accp首頁文件 this is accp //寫入首頁內容
4.重啟nginx並測試(註意測試機需指定DNS解析地址)
# service nginx restart //重啟nginx服務
身份驗證訪問:
1. 創建訪問用戶及密碼
# htpasswd -c /usr/local/nginx/passwd.db zhangsan
2.修改密碼文件的權限為400,將所有者改為nginx,設置nginx的用戶能夠讀取
# chown nginx /usr/local/nginx/passwd.db
# chmod 400 /usr/local/nginx/passwd.db
3.修改主配置文件nginx.conf,添加相應認證配置項。
# vim /usr/local/nginx/conf/nginx.conf location / { auth_basic "secret"; auth_basic_user_file /usr/local/nginx/passwd.db; root html; index index.html index.htm; }
4.檢測語法、重啟服務、測試
# nginx –t //測試語法
# service nginx reload //重啟服務
基於客戶端控制:
1. 修改主配置文件nginx.conf,添加相應配置項。
# vim /usr/local/nginx/conf/nginx.conf
location / {
deny 192.168.100.110;
allow all;
root html;
index index.html index.htm;
}
2. 重啟服務,並測試
# service nginx reload //重啟服務
測試成功!
Nginx虛擬主機及訪問控制