Nginx訪問路徑添加密碼保護

建立口令文件

用openssl命令建立口令php

openssl passwd -apr1

會產生一個hash口令, 而後和用戶名一塊兒, 以[用戶名]:[hash口令]的格式寫入文本文件便可html

例如建立一個名爲 site_passwd 的文件, 放到nginx的conf目錄的 htpasswd 目錄下nginx

mycat:$apr1$s2XP.Vxi$CWQHb8GDsPThsBR6HD4/F/
milton:$apr1$BZImjdgT$PJ9Dq08hwi5XrBxIHev/W/

若是有htpasswd命令, 也能夠直接用下面的命令建立, 這個命令來自於 apache2-utilsapache

htpasswd -c site_passwd mycat

 

Nginx配置文件修改

對於須要口令限制的目錄, 建立一個單獨的location (若是已經有, 則加在已經有的配置上). 例如這裏限制的是demo這個路徑下的訪問. 對於前綴爲/的location裏的配置, 須要在這個location裏從新填一遍, 配置了/demo後, /的配置在這個路徑下再也不起做用.bash

    location / {
        root   /var/wwwroot/site;
        index  index.html index.htm index.php;
    }

    location /demo {
        root   /var/wwwroot/site;
        index  index.html index.htm index.php;
        auth_basic "Restricted Content";
        auth_basic_user_file htpasswd/site_passwd;
    }

reload後訪問就會彈出口令輸入了.spa

sudo systemctl reload nginxcode

相關文章
相關標籤/搜索