Tag: nginx 认证

2 Posts

thumbnail
Nginx使用auth_basic 保护wordpress 登录页面
有时候看日志经常看到很多扫描工具啊、爆破等等、这里突然想到可以用Nginx自带的auth_basic 来给登录页面 wp-login.php再做一个验证,这样可以避免扫描工具一直扫。 1、生成认证的用户名与密码 这一点在这篇 nginx添加认证,使通过密码访问页面 文章中说过了,就不再写了 2、修改nginx 伪静态 增加以下 location = /wp-login.php {     auth_basic "Protected Elasticsearch";     auth_basic_user_file /www/nginx_passwd; #设置php解析php,不然认证成功后就是直接下载php文件了,因为这里用了精准匹配,优先匹配 #这里根据自己的情况来设置,不知道怎么写就去看一下默认解析php的地方     fastcgi_pass unix:/tmp/php-cgi-72.sock;     #fastcgi_index wp-login.php;     include fastcgi.conf; } 3、重载 Ningx service nginx reload  
thumbnail
nginx添加认证,使通过密码访问页面
有的时候暴漏nginx的web页面很不安全,需要添加一个认证,本文介绍使用htpasswd工具为nginx添加认证的用户名和密码。 在 nginx 下,提供了 ngx_http_auth_basic_module 模块实现让用户只有输入正确的用户名密码才允许访问web内容。默认情况下,nginx 已经安装了该模块。所以整体的一个过程就是先用第三方工具设置用户名、密码(其中密码已经加过密),然后保存到文件中,接着在 nginx 配置文件中根据之前事先保存的文件开启访问验证。 1、检查工具是否安装,如果未安装则使用yum安装 #htpasswd 有以上输出表示已经安装,如果没有按装,使用如下命令安装: yum -y  install httpd-tools   2、htpasswd选项参数 htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd -nb[mdps] username password htpasswd命令选项参数说明 -c 创建一个加密文件 -n 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上 -m 默认htpassswd命令采用MD5算法对密码进行加密 -d htpassswd命令采用CRYPT算法对密码进行加密 -p htpassswd命令不对密码进行进行加密,即明文密码 -s htpassswd命令采用SHA算法对密码进行加密 -b htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码 -D 删除指定的用户   3、创建用户和密码文件 test为用户名 再输入密码 htpasswd -c /etc/nginx/passwd test  New password: Re-type new password:   文件内容如下: test:$apr1$V3P/kJ/E$tgtEmhu7boXUWxSnxslf0. 4、nginx配置文件修改 1)如果想要对整个站点进行加密,将以下语句添加到server段: auth_basic "Protected Elasticsearch"; auth_basic_user_file /etc/nginx/.htpasswd; 例如: server { listen 80; server_name a.com; access_log /data/wwwlogs/access_nginx.log combined; auth_basic "Protected Elasticsearch"; auth_basic_user_file /usr/local/nginx/passwd.db; 2)如果只是对某一个请求,进行加密,则需要将上述语句添加到对应的location里面: auth_basic "Protected Elasticsearch"; auth_basic_user_file /etc/nginx/.htpasswd; 例如: server { listen *:80; client_max_body_size 2048m; access_log  /var/log/nginx/elk_access.log; error_log   /var/log/nginx/elk_error.log; location / { auth_basic "Protected Elasticsearch"; auth_basic_user_file /etc/nginx/.htpasswd; http_pass http://10.1.1.1; }   修改好配置后检查配置文件的正确性: # nginx  -t 重启使配置生效: #service nginx  reload   5、增加用户 #htpasswd  -b   /etc/nginx/.passwd     test1  test123 使修改生效 #nginx -s reload 删除用户名和密码 #htpasswd -D  /etc/nginx/.passwd    test1 使修改生效 #nginx -s reload 只显示用户名、密码,不修改密码文件 #htpasswd -nb  test  [email protected] 修改密码 1)第一种方法 #htpasswd -D /etc/nginx/.passwd  test1 #htpasswd  -b   /etc/nginx/.passwd     test1  test123 2)第二种方法 #htpasswd -nb  test  [email protected] test:$apr1$6QjLCTND$GSgAMl5.a0/cKcsqFV9RX. 将之前的删除或注释掉,并将上述产生的新密码添加到密码文件里面 #vim /etc/nginx/.passwd test:$apr1$6QjLCTND$GSgAMl5.a0/cKcsqFV9RX.   使修改生效 #nginx -s reload 本文转自:https://www.cnblogs.com/cuishuai/p/7761031.html