Fix getClientIP

Co-authored-by: Mateusz Hajder <6783135+mhajder@users.noreply.github.com>
This commit is contained in:
Louis Lam 2022-08-01 15:42:58 +08:00
parent 6e29feffd3
commit fb3fe17c28

View File

@ -131,14 +131,18 @@ class UptimeKumaServer {
} }
async getClientIP(socket) { async getClientIP(socket) {
const clientIP = socket.client.conn.remoteAddress.replace(/^.*:/, ""); let clientIP = socket.client.conn.remoteAddress;
if (clientIP === undefined) {
clientIP = "";
}
if (await Settings.get("trustProxy")) { if (await Settings.get("trustProxy")) {
return socket.client.conn.request.headers["x-forwarded-for"] return socket.client.conn.request.headers["x-forwarded-for"]
|| socket.client.conn.request.headers["x-real-ip"] || socket.client.conn.request.headers["x-real-ip"]
|| clientIP; || clientIP.replace(/^.*:/, "");
} else { } else {
return clientIP; return clientIP.replace(/^.*:/, "");
} }
} }
} }