在使用nginx轉發的時候,要進行一次用戶身份的確認。
1)通過htpasswd命令生成用戶名及對應密碼數據庫文件。
[root@bgs-5p173-wangwenting ~]# htpasswd -c /usr/local/nginx/passwd.db wyl //創建認證信息,wyl 為認證用戶名 New password: ******* //輸入認證密碼 Re-type new password: ******** //再次輸入認證密碼 Adding password for user wyl [root@bgs-5p173-wangwenting ~]# chmod 400 /usr/local/nginx/passwd.db //修改網站認證數據庫權限 [root@bgs-5p173-wangwenting ~]# chown root:root /usr/local/nginx/passwd.db //修改網站認證數據庫屬主和屬組 [root@bgs-5p173-wangwenting ~]# cat /usr/local/nginx/passwd.db //可以看到通過htpasswd生成的密碼為加密格式 wyl:r5IXRXWSmlBk6 |
2)編輯虛擬主機配置文件。
[root@bgs-5p173-wangwenting ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下語句 user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 12171; server_name localhost; client_max_body_size 151m; location / { auth_basic "s1"; #虛擬主機認證命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虛擬主機用戶名密碼認證數據庫 #proxy_pass http://10.0.0.10:9011; #nginx 訪問 root html; index index.html index.htm; } } server { listen 12172; server_name localhost; client_max_body_size 151m; location / { auth_basic "s1"; #虛擬主機認證命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虛擬主機用戶名密碼認證數據庫 proxy_pass http://10.0.0.10:8088; #hadoop 訪問 } } |
3)重啟nginx
[root@bgs-5p173-wangwenting nginx]# ./nginx -s reload |
4)訪問hadoop,需要輸入密碼和賬號,輸入正確的用戶名和密碼之后,就可以訪問hadoop了。