Forwarding all HTTP/HTTPS from server to another server
You can definitely do it at the network layer, following something like this.
However, you're just complicating things at a deeper level of the OSI model than you really need to, and could run into issues with the TCP handshake and/or getting the correct IP in your logs at the destination.
Unless there is some compelling reason not to, it's probably better to just use nginx to forward all packets. Assuming you have DNS as well and you're just moving where that DNS resolves to, setup nginx to forward, then update your DNS and once you know it has aged out correctly, shut down nginx and remove it (again, assuming you have DNS and that you're moving to a different location to serve traffic).