我的家庭服务器上有一个反向隧道,以便我可以从外部世界访问它。我的家庭服务器位于防火墙后面。
当我访问 [mydomain]:8080 时,它通过已建立的连接(由我的家庭计算机启动)将我的 HTTP 请求转发到我的家庭计算机,在该计算机上它在端口 80 上创建到我的服务器的连接(从本地主机)。一切正常,只是现在所有 apache 的日志都显示请求来自 localhost。我真的很想了解有关谁连接到我的服务器的更多信息。
这是我用来创建反向隧道的命令:
autossh -i mykeyfile -N -f -g -R \*:8080:localhost:80 myuser@mydomain
我试过检查/var/log/auth.log
它没有任何相关的内容。
答案1
将您的隧道更改为远程监听
localhost:8080
而不是*:80
.Apache
使用和指令安装mydomain
并配置从 80 到 localhost:8080 的反向代理。ProxyPass
ProxyPassReverse
RequestHeader append
使用指令告诉 apache 将客户端地址添加为标准 http 标头 X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-Port