nginx用户认证和访问日志

Nginx 用户认证

配置用户认证:

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

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;
}css

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

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

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

下面参数提供了访问站点的存放目录
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;git

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

Nginx访问日志

用户访问网站的记录vim

配置日志文件
主配置文件:/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。ide

虚拟主机配置文件:/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
http://www.javashuo.com/article/p-yxrfjcxy-eq.html

相关文章
相关标签/搜索