本站就是使用Cloudflared
进行内网穿透实现的互联网公网访问,减少了部分成本吧,但是感觉也没减少啥,电费该处还是得出,而且说实话,性能不太好,因为用的是笔记本开了个Debian的虚拟机,所以本站可以看作是跑在家里云(笔记本)上的(虚拟机)的服务器,哈哈哈哈哈,感觉在套娃,可能后面会考虑换个小主机(更安全一点吧。
这篇博文会一点点更新,遇到的问题跟解决方案都会记录在此处,争取能帮到更多的人,共勉,我个人喜欢的一句话
"一切的无私与分享源自你我之间的共享精神。"
网站日志记录的ip都是127.0.0.1
这个问题是因为走的数据实际上都是127.0.0.1过来的,但是我们通过了Cloudflare走出去,走进来的流量实际上还是127.0.0.1,所以这里需要修改一下请求头里面的IP为Cloudflared提供的真实用户IP
在Nginx的http模块内,找个地方添加如下配置:
set_real_ip_from 127.0.0.1;
real_ip_header CF-Connecting-IP;#获取真实ip
set_real_ip_from 127.0.0.1;:
这个指令告诉 Nginx 从指定的 IP 地址获取真实的客户端 IP 地址。在这个例子中,127.0.0.1 表示本地回环地址,也就是指定 Nginx 应该信任来自本地回环地址的请求。当 Nginx 收到来自指定 IP 地址的请求时,它会将该 IP 地址作为客户端的真实IP 地址。这对于通过代理服务器访问 Nginx 的情况非常有用。
real_ip_header CF-Connecting-IP;:
这个指令告诉 Nginx 从 HTTP 请求头中读取客户端真实 IP 地址的字段。 在这个例子中,CF-Connecting-IP 是指Cloudflare 服务将客户端真实 IP 地址存储在 HTTP 请求头中的字段名称。 当 Nginx收到请求时,它会查找指定的请求头字段,并将其中存储的 IP 地址视为客户端的真实 IP 地址。 综合起来,这两个指令一起使用时,Nginx会从指定的 IP 地址或指定的请求头字段中获取客户端的真实 IP 地址,并将其用于后续的请求处理和日志记录等操作。