十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1. 生成密码htpasswd文件(二选一) 什么是 htpasswd ?
创新互联公司专注于宁河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宁河营销型网站建设,宁河网站制作、宁河网页设计、宁河网站官网定制、微信小程序开发服务,打造宁河网络公司原创品牌,更为您提供宁河网站排名全网营销落地服务。htpasswd 是开源 http 服务器apache httpd的一个命令工具,用于生成 http 基本认证的密码文件。
加密方式有什么区别?MD5:使用MD5加密密码。在Windows, Netware 和TPF上,这是默认的加密方式。
crypt:使用crypt()加密密码。在除了Windows, Netware和TPF的平台上,这是默认的。 虽然它在所有平台上可以为htpasswd所支持, 但是在Windows, Netware和TPF上不能为httpd服务器所支持。
SHA:使用SHA加密密码。 它是为了方便转入或移植到使用LDAP Directory Interchange Format (ldif)的Netscape而设计的。
plain:不加密,使用纯文本的密码。虽然在所有平台上 htpasswd 都可以建立这样的密码, 但是httpd后台只在Windows, Netware和TPF上支持纯文本的密码。
为什么要做成在线的?如果我们不使用apache服务器,例如使用nginx等,可能手头没有这个命令行工具,就无法生成密码文件,有了在线版的可以方便服务器管理员使用。
(1) 在线htpasswd生成器
(2) 离线(本地)生成htpasswd
a.通过htpasswd命令生成用户名及对应密码数据库文件。
//创建认证信息,wyl 为认证用户名 [root@bgs-5p173-wangwenting ~]# htpasswd -c /usr/local/nginx/passwd.db wyl //输入认证密码 New password: ******* //再次输入认证密码 Re-type new password: ******** Adding password for user wyl //修改网站认证数据库权限 [root@bgs-5p173-wangwenting ~]# chmod 400 /usr/local/nginx/passwd.db //修改网站认证数据库属主和属组 [root@bgs-5p173-wangwenting ~]# chown root:root /usr/local/nginx/passwd.db //可以看到通过htpasswd生成的密码为加密格式 [root@bgs-5p173-wangwenting ~]# cat /usr/local/nginx/passwd.db wyl:r5IXRXWSmlBk6
2. 配置Nginx主机文件//主配置文件中http字段中添加以下语句 [root@bgs-5p173-wangwenting ~]# vim /usr/local/nginx/conf/nginx.conf user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 12171; server_name localhost; client_max_body_size 151m; location / { auth_basic "s1"; #虚拟主机认证命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虚拟主机用户名密码认证数据库 #proxy_pass http://10.0.0.10:9011; #nginx 访问 root html; index index.html index.htm; } } server { listen 12172; server_name localhost; client_max_body_size 151m; location / { auth_basic "s1"; #虚拟主机认证命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虚拟主机用户名密码认证数据库 proxy_pass http://10.0.0.10:8088; #hadoop 访问 } }
3. 修改htpasswd文件权限sudo chown root:www-data htpasswd sudo chmod 640 htpasswd
授权失败会导致 服务器500的错误
4. 重启Nginx服务器// 测试重启配置文件是否正确 # nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful // 平滑重启 # nginx -s reload
5. 访问添加权限限制Web,如图: