Windows 10 Chrome 128.0.0.0
首先在配置文件(ini)中加入proxy_protocol_version = v2
然后打开网站的配置文件(Ngnix)
listen 80;

listen 443 ssl;
两行的最后加上proxy_protocol
若没有listen 443 ssl;则为未开启SSL
最后在 root /www/wwwroot/xxx;下方放入这三行:
real_ip_header proxy_protocol;
real_ip_recursive on;
set_real_ip_from 127.0.0.1;
如图:B4b0732fec40c36fedd0de6a79378ae4
 
  • Like
反馈: OoyonghongoO

小 曾

New member
2024/07/25
7
2
3
11 <span role="presentation" aria-hidden="true">&middot;</span> <span class="zodiac-sign zodiac-sign--sagittarius" data-xf-init="tooltip" data-content="射手座" data-trigger="hover focus click">♐</span>
浙江
    Windows 10 Chrome 128.0.0.0
  • #3
某云AI的回答
FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,通常用于将内网服务暴露到公网。当使用 FRP 建站时,获取用户的真实 IP 地址可能会遇到一些挑战,因为用户的请求首先会经过 FRP 代理。不过,你可以通过以下几种方法来获取用户的真实 IP 地址:

方法一:使用 X-Forwarded-For 头部​

大多数代理服务器(包括 FRP)都会在转发请求时添加 X-Forwarded-For 头部,其中包含了客户端的原始 IP 地址。你可以在服务器端的应用程序中读取这个头部来获取用户的真实 IP。

例如,在 Nginx 中,你可以这样配置:

server {
listen 80;
server_name yourdomain.com;

location / {
proxy_pass http://your_backend_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}


然后,在你的应用程序代码中,你可以读取 X-Forwarded-For 头部来获取用户的真实 IP。

方法二:使用 FRP 的自定义头部​

FRP 允许你设置自定义的 HTTP 头部。你可以在 FRP 的配置文件中添加一个自定义头部,将客户端的真实 IP 地址传递给后端服务器。

在 FRP 的客户端配置文件(通常是 frpc.ini)中,你可以这样设置:

[common]
server_addr = your_frp_server_ip
server_port = 7000

[web]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = yourdomain.com
headers = {"X-Real-IP": "$client_ip"}


保存到脚本库
这样,后端服务器就可以通过读取 X-Real-IP 头部来获取用户的真实 IP 地址。

方法三:使用 JavaScript 获取客户端 IP​

如果你无法在服务器端获取到用户的真实 IP,你还可以考虑在前端使用 JavaScript 来获取客户端的 IP 地址。这通常是通过调用一些第三方服务来实现的,例如 ipify 或 ip-api。

在你的网页中添加以下 JavaScript 代码:

<script>
function getMyIP() {
fetch('https://api.ipify.org?format=json')
.then(response => response.json())
.then(data => console.log(data.ip));
}
getMyIP();
</script>


保存到脚本库
这段代码会从 ipify 服务获取客户端的 IP 地址,并在控制台中打印出来。你可以根据需要将这个 IP 地址发送到你的服务器。

注意事项​

  • 安全性:在处理用户的 IP 地址时,要确保遵守相关的隐私保护法规。
  • 准确性:X-Forwarded-For 头部可能会被恶意用户篡改,因此在某些安全敏感的场景下,你可能需要结合其他方法来验证 IP 地址的真实性。
希望这些方法能帮助你在使用 FRP 建站时获取用户的真实 IP 地址!如果你有任何其他问题,请随时告诉我。