nginx 正向http代理配置 需要用戶名和密碼認證
生成密碼文件:
linux需要安裝:
#yum -y install httpd-tools
生成密碼文件:
#htpasswd -c /usr/local/nginx/conf/pwd/passwd 用戶名
輸入密碼
重新輸入密碼
server配置:
在conf的目錄下創建hosts文件夾並在nginx.conf最后插入 include hosts/*.conf;
在hosts中創建文件myproxy.conf
server { access_log /usr/local/nginx/logs/access.log;#日志目錄 listen 39001;#監聽端口 location / { resolver 8.8.8.8;#DNS地址 proxy_pass $scheme://$http_host$request_uri; auth_basic "Please input password";#提示 auth_basic_user_file /usr/local/nginx/conf/pwd/passwd;#用戶密碼加密文件 proxy_buffers 256 4k;#緩存大小 proxy_max_temp_file_size 0k; } }
命令:
nginx -s reload|reopen|stop|quit #重新加載配置|重啟|停止|退出nginx
nginx -t #測試配置是否有語法錯誤
文件服務器配置:
進行簡單配置
在安裝目錄的conf文件夾下的nginx.conf中配置:
location ^~ /svn/ { //表示含有svn/關鍵字就會進入以下規則
root /data/;
autoindex on;
}
以上表示:http://[ip]/svn/ 實際訪問路徑為:/data/svn/;autoindex on表示打開目錄瀏覽功能。當然nginx
的規則配置還有很多,可以自行百度。
注意:location = / (精確匹配)與 location /(模糊匹配)。后者表示請求地址只要含有/,就會給實際訪問路徑加上其規則里面配置的路徑。比如:
配置文件:
location / {
root html;
index index.html index.htm;
}
location ^~ /svn/ {
root /data/;
autoindex on;
}
那么請求“http://[ip]/svn/”則會先被“location /”匹配,實際訪問路徑變成:/usr/local/nginx/html,然 后繼續匹配發現滿足svn關鍵字,故又加上/data/svn/,因此實際訪問路徑是/usr/local/nginx/html/data/svn/。
另: location = / {
root html;
index index.html index.htm;
}中的“root html”,表示當前安裝目錄下的html,“root /html”否則表示服務器根目錄下的html。