If you want to access OctoPrint from the internet including webcam support, I strongly suggest you put haproxy in front of it and make everything reachable under port 80 (OctoPi users: No need to do anything, OctoPi already comes preconfigured this way, so hands off!), because otherwise getting the webcam to work from within and without your local network will be impossible. So just configure haproxy as described (or alternatively use another reverse proxy), then just forward only port 80 in your router and configure OctoPrint to use /webcam/?action=stream
as Stream URL. This is not a typo, it is a relative URL that will make it work "magically".