使用Frp+Nginx的组合方式进行内网穿透,将内网中的HTTP服务暴露到公网去提供服务。
FRP服务商推荐:nicefrp.com
frp与nginx之间存在的缓存问题
发起请求的过程:
用户 -> http -> 公网Nginx -> 转发 -> frps -> 隧道 -> frpc -> 转发 -> 内网Nginx
响应请求的过程:
内网Nginx -> frpc -> frps -> 公网Nginx -> 用户
可能会出现缓存的环节:
- 内网Nginx的响应体声明了缓存
- 公网Nginx的响应体声明了缓存
- 公网Nginx反向代理的声明了缓存
排除思路:查看公网Nginx的日志,如果没有接受到请求,那么可能就是用户浏览器缓存了,清除用户浏览器缓存,如果公网Nginx接收到了请求,响应了200状态码,而内网Nginx没有收到请求,那么可能就是公网Nginx的方向代理做了缓存了。
关闭反向代理的缓存:
location / {
proxy_pass http://127.0.0.1:8000; // frps
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Power-By;
proxy_cache off; // 关闭反向代理缓存
}
正文完