在Nginx日志中,协议类型通常记录在访问日志的第一个字段,用空格分隔。协议类型可以是HTTP、HTTPS或其他自定义协议。以下是如何区分这些协议类型的方法:
127.0.0.1 - - [21/Jul/2021:12:34:56 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
在这个例子中,协议类型是HTTP。
127.0.0.1 - - [21/Jul/2021:12:35:01 +0000] "GET /secure/index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
在这个例子中,协议类型是HTTPS。
127.0.0.1 - - [21/Jul/2021:12:35:06 +0000] "GET /chat HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
在这个例子中,协议类型是自定义协议。
如果你想只显示特定协议类型的请求,可以使用grep命令进行过滤。例如,要显示所有HTTP请求,可以使用以下命令:
grep '^http://' nginx_access.log
同样,要显示所有HTTPS请求,可以使用以下命令:
grep '^https://' nginx_access.log