Nginx的日志、全局变量、防盗链、https实战 7月31日学习笔记

本文详细介绍了Nginx的日志类型及其内容,包括access.log和error.log,讲解了常见的全局变量如$remote_addr、$request_uri等。接着讨论了Nginx如何实现防盗链功能,通过判断referer来阻止非法请求。最后,文中阐述了开启HTTPS的步骤,包括生成私钥和证书,并在Nginx配置中启用HTTPS。
摘要由CSDN通过智能技术生成

Nginx的日志、全局变量、防盗链、https配置

视频资料

日志

nginx日志分为两种,一种是access日志,一种是错误日志
access.log
在这里插入图片描述
这里的main是指调用name为main的变量,name可以自定义
在这里插入图片描述这里的全局变量指日志内容,访问日志的全局变量可自定义,错误日志不可以自定义内容!

192.168.16.21 - - [31/Jul/2021:19:38:40 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"
192.168.16.21 - - [31/Jul/2021:19:38:42 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0"

nginx全局变量含义



名称        版本        说明(变量列表来源于文件 ngx_http_variables )

$args        1.0.8        请求中的参数;

$binary_remote_addr        1.0.8        远程地址的二进制表示

$body_bytes_sent        1.0.8        已发送的消息体字节数

$content_length        1.0.8        HTTP请求信息里的"Content-Length";

$content_type        1.0.8        请求信息里的"Content-Type";

$document_root        1.0.8        针对当前请求的根路径设置值;

$document_uri        1.0.8        与$uri相同; 比如 /test1/test2/test.php

$host        1.0.8        请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;

$hostname        1.0.8       

$http_cookie        1.0.8        cookie 信息

$http_post        1.0.8       

$http_referer        1.0.8        引用地址

$http_user_agent        1.0.8        客户端代理信息

$http_via        1.0.8        最后一个访问服务器的Ip地址。http://www.cnblogs.com/deng02/archive/2009/02/11/1387911.html

$http_x_forwarded_for        1.0.8        相当于网络访问路径。http://www.cnblogs.com/craig/archive/2008/11/18/1335809.html

$is_args        1.0.8       

$limit_rate        1.0.8        对连接速率的限制;

$nginx_version        1.0.8       

$pid        1.0.8       

$query_string        1.0.8        与$args相同;

$realpath_root        1.0.8       

$remote_addr        1.0.8        客户端地址;

$remote_port        1.0.8        客户端端口号;

$remote_user        1.0.8        客户端用户名,认证用;

$request        1.0.8        用户请求

$request_body        1.0.8       

$request_body_file        1.0.8        发往后端的本地文件名称

$request_completion        1.0.8       

$request_filename        1.0.8        当前请求的文件路径名,比如$request_filename:D:\nginx/html/test1/test2/test.php

$request_method        1.0.8        请求的方法,比如"GET"、"POST"等;

$request_uri        1.0.8        请求的URI,带参数; 比如http://localhost:88/test1/test2/test.php

$scheme        1.0.8        所用的协议,比如http或者是https,比如rewrite^(.+)$$scheme://example.com$1redirect;

$sent_http_cache_control        1.0.8       

$sent_http_connection        1.0.8       

$sent_http_content_length        1.0.8       

$sent_http_content_type        1.0.8       

$sent_http_keep_alive        1.0.8        

$sent_http_last_modified        1.0.8       

$sent_http_location        1.0.8       

$sent_http_transfer_encoding        1.0.8       

$server_addr        1.0.8        服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费);

$server_name        1.0.8        请求到达的服务器名;

$server_port        1.0.8        请求到达的服务器端口号;

$server_protocol        1.0.8        请求的协议版本,"HTTP/1.0"或"HTTP/1.1";

$uri        1.0.8        请求的URI,可能和最初的值有不同,比如经过重定向之类的。

Nginx防盗链

含义:防止自己的页面被爬虫爬去或复制

有一说一,实验做崩了,但是奇怪的知识增加了,学会了权限控制
补充:试验成功了
在这里插入图片描述
当referer不是限定的ip时,返回404
在这里插入图片描述

在这里插入图片描述上面是防盗链的代码,下面是权限控制的代码
防盗链测试失败,权限控制测试成功,会报403错误,(403:权限问题)
在这里插入图片描述

开启HTTPS

开启https很简单
生成私钥

openssl genrsa > cert.key

生成证书

openssl req -new -x509 -key cert.key > cert.pem

取消nginx https注释

完成!

complete!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值