Are there any ways to serve a webpage locally without revealing IP to end users?
In order to hide your IP address from users you need to make sure that they don't access your server directly, i.e. put some kind of reverse proxy in between. For public sites this can be done by putting a CDN like Cloudflare in front of it. For internally hosted sites this can by done by using services like ngrok or similar.