为网站添加一道简单的登录认证【参考资料】
basic

yum install -y httpd-tools
htpasswd -c /etc/nginx/passwd your_account
server {
auth_basic "Please input password"; auth_basic_user_file /etc/nginx/passwd;
location / { ... } }
|
Response Header status: 401 www-authenticate: Basic realm="Please input password"
# 之后的所有请求都会带上这个header Request Header authorization: Basic yourpasswordxxxbase64xxstring
|
digest
basic的缺点就是会传输base64编码过的密码,相当于明文传输了;有https的话就不是太大的问题,除非别人看了你电脑上的抓包信息;如果在意这个问题可以考虑使用auth_digest,这样传输时会使用一个摘要字符串,比如md5+salt.realm处理之后的字符串;【参考资料】;
除此之外,相比auth_basic多了一些配置项
auth_digest_timeout 60s; auth_digest_expires 1d; auth_digest_replays 100;
|
nginx-auth-request-module
单点登录?【参考资料1】【参考资料2】
location /private/ { auth_request /auth; ... }
location = /auth { proxy_pass ... proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; }
|