码迷,mamicode.com
首页 > 其他好文 > 详细

nginx用户认证和访问日志

时间:2020-09-23 23:12:54      阅读:38      评论:0      收藏:0      [点我收藏+]

标签:日志文件   ble   选择   rewrite   param   com   http   referer   httpd   

Nginx 用户认证

配置用户认证:

以bbs.jinkai.cc.conf为例
vim /etc/nginx/conf.d/bbs.jinkai.cc.conf
添加

location ~ admin.php
{
auth_basic "Auth";
auth_basic_user_file /etc/nginx/user_passwd;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/bbs.jinkai.cc$fastcgi_script_name;
include fastcgi_params;
}

配置参数解析:location ~ 同一个配置文件有多个location,当都满足一个请求的时候,优先选择 ~ 这个
auth_basic "Auth";
auth_basic_user_file /etc/nginx/user_passwd;
实现用户二次认证的参数,/etc/nginx/user_passwd 存放认证的用户和密码。

创建用户和密码工具htpasswd
安装:yum install -y httpd-tools
htpasswd -c /etc/nginx/user_passwd user1
-c 新建存放用户和密码的文件 用户:user1
-m 设定密码为MD5值加密

新增用户可以不用加参数
[root@jinkai conf.d]# cat /etc/nginx/user_passwd
user1:$apr1$FIan.7M/$DM3YH2TlwwkmLNcf9/m5B1

下面参数提供了访问站点的存放目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/bbs.jinkai.cc$fastcgi_script_name;
include fastcgi_params;

Windows网页访问 bbs.jinkai.cc 会先弹出用户认证,输入用户名和密码后,进入到网页用户名和密码登录

Nginx访问日志

用户访问网站的记录

配置日志文件
主配置文件:/etc/nginx/nginx.conf

下面是定义日志的格式
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
$remote_user 用户认证的用户名
$request 请求的方法+请求的链接+HTTP版本(GET /admin.php? HTTP/1.1)
main为日志格式的名字,后面可以调用它;
$remote_addr为访问网站的用户的出口IP;
$http_x_forwarded_for为代理服务器的IP,如果使用了代理,则会记录代理的IP;
$time_local为当前的时间;
$host为访问的主机名;
$request_uri 为访问的URL地址;
$status为状态码;例如200,301
$http_referer为referer地址;
$http_user_agent为user_agent。

虚拟主机配置文件:/data/wwwroot/bbs.jinkai.cc.conf
把 #access_log /var/log/nginx/host.access.log main;
移动到最后一个} 上面,改成:access_log /data/logs/bbs.log main;
/data/logs/bbs.log 日志存放的地方;main 日志的格式

[root@jinkai conf.d]# mkdir /data/logs
[root@jinkai conf.d]# touch /data/logs/bbs.log
[root@jinkai conf.d]# cat /data/logs/bbs.log
192.168.111.1 - user1 [09/Sep/2020:22:29:19 +0800] "GET /admin.php? HTTP/1.1" 200 37803 "http://bbs.jinkai.cc/admin.php?" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" "-"
192.168.111.1 - user1 [09/Sep/2020:22:29:19 +0800] "GET /static/image/admincp/admincp.css?VkL HTTP/1.1" 304 0 "http://bbs.jinkai.cc/admin.php?" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" "-"
192.168.111.1 - user1 [09/Sep/2020:22:29:19 +0800] "GET /static/js/common.js?VkL HTTP/1.1" 304 0 "http://bbs.jinkai.cc/admin.php?" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" "-"

扩展:
nginx内置变量:
https://github.com/aminglinux/nginx/blob/master/rewrite/variable.md
nginx location 文档:
https://github.com/aminglinux/nginx/tree/master/location
https://www.cnblogs.com/dadonggg/p/7797281.html

nginx用户认证和访问日志

标签:日志文件   ble   选择   rewrite   param   com   http   referer   httpd   

原文地址:https://blog.51cto.com/11451960/2536103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!