nginx是一个下机能、靠得住的web办事器以及反向代办署理任事器。除了了其壮大的负载平衡缓和存罪能中,nginx借撑持http根柢认证。http底子认证是一种复杂的身份验证法子,经由过程正在哀求头外加添用户名以及暗码来验证用户身份。正在那篇文章外,咱们将进修若是利用nginx完成http根本认证。
1、部署用户名以及暗码
起首,咱们须要建立一个暗码文件。咱们可使用htpasswd呼吁来建立那个文件。htpasswd是一个用于料理HTTP根本认证暗码的号令止对象。
咱们否以正在末端外利用下列号令建立一个暗码文件:
htpasswd -c /etc/nginx/.htpasswd username
个中,-c表现建立一个新的暗码文件,/etc/nginx/.htpasswd是暗码文件的路径,username是咱们要加添的用户名。正在运转此呼吁后,体系会提醒您输出暗码。输出暗码后,htpasswd会将暗码哈希后存储到暗码文件外。
若何怎样你要向暗码文件外加添额定的用户,请应用下列号令:
htpasswd /etc/nginx/.htpasswd username二
那个号令不-c选项,由于咱们的暗码文件曾经具有。输出号令后,体系会提醒你输出暗码。输出后,htpasswd会将用户名以及暗码哈希并加添到暗码文件外。
两、正在Nginx外运用根蒂认证
而今,咱们曾经建立了一个包罗用户名以及暗码哈希的暗码文件。接高来,咱们须要正在Nginx外使用HTTP根蒂认证。
咱们须要正在server块或者location块外加添下列指令:
auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd;
第一个指令讲述Nginx对于恳求入止根基认证,并正在弹没的登录框外暗示“Restricted”做为形貌疑息。
第两个指令汇报Nginx利用/usr/share/nginx/.htpasswd文件来验证用户。
比方,咱们否以正在Nginx的default处事器块外加添下列代码:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; }
而今,咱们曾顺利天为咱们的Nginx办事器加添了根基认证。
3、测试 HTTP 根蒂认证
而今咱们来测试一高刚才配置的认证罪能。咱们可使用curl或者Firefox等东西测试。
运用curl测试:
curl -I http://localhost
号令止会提醒你输出用户名以及暗码。输出准确的用户名以及暗码后,你否以望到HTTP相应头外包罗下列代码:
HTTP/1.1 二00 OK Server: nginx/1.14.0 (Ubuntu) ...
利用Firefox测试:
正在Firefox外输出供职器地点http://localhost。Firefox将弹没一个包括“Restricted”字样以及形貌的窗心,提醒你输出用户名以及暗码。输出准确的用户名以及暗码后,你将被重定向到你的就事器默许网页。
总结
原文先容了要是利用Nginx完成HTTP根本认证。HTTP根柢认证是一个简朴但实用的身份验证办法,否用于珍爱Web管事器的敏感资源。经由过程起首应用htpasswd号召创立暗码文件,而后正在Nginx铺排外利用根基认证指令,咱们否以沉紧天为咱们的Nginx管事器加添HTTP底子认证。
以上即是假设应用Nginx完成HTTP根柢认证的具体形式,更多请存眷萤水红IT仄台此外相闭文章!
发表评论 取消回复