如何在nginx里設(shè)置權(quán)限
- 安裝nginx
略
- 配置密碼
這里拿用戶名為sayuri,儲存文件為/etc/nginx/.htpasswd為例子
- 使用 openssl
sudo sh -c "echo -n 'sayuri': >> /etc/nginx/.htpasswd"
sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
#這個命令之后會讓你輸入和確認(rèn)密碼
- 使用apache2-utils
首先要安裝apache2-utils
之后輸入
sudo htpasswd -c /etc/nginx/.htpasswd sayuri
#同樣會讓你輸入和確認(rèn)密碼
以上兩種方法可以多次輸入在一個文件里添加多個用戶
- 配置文件里設(shè)置
以/etc/nginx/sites-enabled/default 為例
打開之前:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
在需要權(quán)限的地方添加以下設(shè)置
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
修改后:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
- 檢查完整性并重啟
sudo nginx -t
sudo nginx -s reload
參考資料
How To Set Up Password Authentication with Nginx on Ubuntu 14.04