有时候需求这样:某个域名,或域名下的某个目录,需要访问时输入指定的用户名和密码。nginx可以做到,而且一点不比apache差。
- server
- {
- listen 80;
- server_name www.test.com;
- index index.html index.htm index.php;
- root /opt/htdocs;
- location / {
- auth_basic "welcome to www.abcd.com:";
- auth_basic_user_file htpasswd;
- gzip off;
- }
- }
<link href="http://www.kukaka.org/admin/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" />
注意gzip需要关闭,因为会把动态文件解析成静态。 然后需要建立密码文件在conf目录下,名字叫htpasswd,命令如下:
- htpasswd -bdc /opt/nginx/conf/htpasswd abcd 123456
<link href="http://www.kukaka.org/admin/fckeditor/editor/plugins/highlighter/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" type="text/css" rel="stylesheet" />
这里的htpasswd为linux下建立pwd的工具,很多参数。上面命令建立一个abcd的用户,密码为
123456。
重启nginx,访问该域名即弹出http验证框,错误则提示401。
浙公网安备 33010602011771号