nginx配置目錄訪問&用戶名密碼控制


背景

項目上需要一些共享目錄讓外地同事可以網頁訪問對應的文件,且受權限控制;
現有環境:

  1. centos
  2. nginx

你可以了解到以下內容:

  • 配置nginx開啟目錄訪問
  • 並配置nginx用戶名和密碼進行權限控制

1/2 列出目錄列表

autoindex on; # 開啟目錄文件列表

還可以加一些其它的功能,以下是我使用的附加配置:

autoindex_exact_size on; # 顯示出文件的確切大小,單位是bytes
autoindex_localtime on; # 顯示的文件時間為文件的服務器時間
charset utf-8,gbk; # 避免中文亂碼

2/2 加上用戶名和密碼(需要安裝軟件)

a. 安裝httpd-tools

yum -y install httpd-tools

b. 使用htpasswd生成指定用戶名和密碼的權限文件,示例如下,按照提示輸入兩次密碼

# 在/etct/nginx目錄下,生成passwd110文件
# 添加test110用戶
htpasswd -c /etc/nginx/passwd110 test110

htpasswd還有其它參數,可以通過htpasswd -h來查看,例如可以指定一些密碼加密方式

c. 配置nginx

auth_basic "input your password"; #這里是驗證時的提示信息 
auth_basic_user_file /etc/nginx/passwd110;

示例

完成配置示例(開啟/var/www/logs 目錄列表,並且需要用戶名和密碼訪問)如下:

location /logs {
	root /var/www/;
	autoindex on; # 開啟目錄文件列表
	autoindex_exact_size on; # 顯示出文件的確切大小,單位是bytes
	autoindex_localtime on; # 顯示的文件時間為文件的服務器時間
	charset utf-8,gbk; # 避免中文亂碼
	# add_header Content-Disposition attachment;
	# 以下是配置用戶名和密碼訪問
	auth_basic "Please input password"; #這里是驗證時的提示信息 
	auth_basic_user_file /etc/nginx/passwd110;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM