Nginx 开启http基本认证
方式一
# 安装 htpasswd 命令
yum install httpd-tools
htpasswd -cb /usr/local/nginx/passwd/test.db admin 123456
方式二
echo "admin:$(openssl passwd -crypt 123456)" >> /usr/local/nginx/passwd/test.db
修改 nginx 相应server模块
加入:
auth_basic "User Authentication";
auth_basic_user_file /usr/local/nginx/passwd/test.db;
示例:
vim /usr/local/nginx/conf/vhost/test.conf
server
{
listen 80 default_server reuseport;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
root /data/wwwroot/test;
#error_page 404 /404.html;
satisfy any;
allow 192.168.1.0/24;
deny all;
auth_basic "User Authentication";
auth_basic_user_file /usr/local/nginx/conf/htpasswd/default.htpasswd;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
include enable-php.conf;
location /nginx_status
{
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/test_access.log;
}