Rebooting just seems like a very roundabout, slow and inefficient way to get back to that initial state you describe.
It's exactly what the reboot process is designed to do; return you to that fully encrypted pre-boot state. There would be no purpose to implementing a second method that does the exact same thing.
X-Forwarded-For
And
X-Real-IP
The application you're proxying also has to listen to these headers. Some don't, some need to be told they're ok to use. (if you enable them, but don't have a proxy in front, users can spoof their ip using them)