linux中生成密码文件的命令一般有两种
opensslpasswd -crypt passwd之后会生成一个字符串,文件不需要
另一种是
htpasswd -c /etc/filename.db username
这时候会显示用户名输入密码:
当系统显示没有htpasswd命令的时候可以在输入htpasswd后系统显示安装的软件(ubuntu)
最后贴出我自己的nginx的配置作为参考:
server {
listen 9200;
server_name xxxxxxxx;
charset utf8;
auth_basic "secret"; ##使用openssl passwd -crypt passwds加密的时候配置的位置
auth_basic_user_file /etc/nginx/passwords; ##可以不需要文件后缀
location / {
proxy_pass http://xxxxxxxxxx;
proxy_redirect default ;
proxy_connect_timeout 60;
proxy_send_timeout 172800;
proxy_read_timeout 6000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
auth_basic "secret"; ##使用htpasswd加密的时候配置的位置
auth_basic_user_file /etc/nginx/passwords.db;
proxy_max_temp_file_size 0;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}