I'm trying to work out some basic knowledge of rate-limiting for my server security so I know how it works. Seems pretty simple as there are different algorithms as well as IP limiting methods. This is not what my question is about, I will be using packages in the end but, in playing around I have discovered:
If I google or use any search to check my IP i get my public address (VPN)
- Example: 198.8.92.83 (or whatever the VPN session address is) (not actual address)
I check my VPN address in my network settings
- Example: 10.11.3.2 (this seems to not change when VPN session is toggled) (not actual address)
My private address is never seen anywhere.
- Example: 188.177.3.88 (not actual address)
When I query for users IP with middleware on Parse Back4App I get
- Example: 10.4.44.234 (not actual address)
But this IP 4th number changes every request if my VPN is active or not
This is very confusing, if it's confusing to me (weather a beginner or not) how can an IP rate limiter/blacklister do an effective job when an IP is always changing? Question 1...
Question 2, why is my VPN address different than my IP from my request to my server?
What I'm using to get query address:
app.use(function(req, res, next) {
req.headers['x-real-ip'] = req.ip;
next();
});
Parse.Cloud.define('geoLookup', function(request, response) {
var clientIP = request.headers['x-real-ip'];
});