{"action":"opened","issue":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/497","labels_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/497/labels{/name}","comments_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/497/comments","events_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/497/events","html_url":"https://github.com/sandstorm-io/sandstorm/issues/497","id":87822869,"number":497,"title":"Listen on ports 80 (and possibly 443) in default install","user":{"login":"paulproteus","id":25457,"avatar_url":"https://avatars.githubusercontent.com/u/25457?v=3","gravatar_id":"","url":"https://api.github.com/users/paulproteus","html_url":"https://github.com/paulproteus","followers_url":"https://api.github.com/users/paulproteus/followers","following_url":"https://api.github.com/users/paulproteus/following{/other_user}","gists_url":"https://api.github.com/users/paulproteus/gists{/gist_id}","starred_url":"https://api.github.com/users/paulproteus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulproteus/subscriptions","organizations_url":"https://api.github.com/users/paulproteus/orgs","repos_url":"https://api.github.com/users/paulproteus/repos","events_url":"https://api.github.com/users/paulproteus/events{/privacy}","received_events_url":"https://api.github.com/users/paulproteus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-06-12T19:09:03Z","updated_at":"2015-06-12T19:09:03Z","closed_at":null,"body":"In the default install, if you have nothing else running on port 80, it'd be great if Sandstorm took over that port. That way, no one has to see ugly `:6080` strings in their URLs.\r\n\r\nSome thoughts about this:\r\n\r\n* Once we have this, if we have some kind of TLS certificate integration, we could also bind to port 443.\r\n\r\nSome questions about this:\r\n\r\n* What can we do to support people installing Sandstorm today, and then later deciding they want to add nginx etc. to the VM that they are running Sandstorm on, in order to enable apps that aren't Sandstorm itself?\r\n** Proposal: Write a wiki page saying clearly how to configure Sandstorm to stop listening on ports 80 and 443, and provide a sample nginx conf stanza on how to do that, and preferably add a test to `installer-tests/` indicating that Sandstorm can actually be reached if someone follows these steps.\r\n\r\n* What should we do if the installer detects you _do_ have port 80 in use? Presumably Sandstorm should do what it does now, which is to take port 6080, but that does mean that OAuth URLs (breaking auth providers) would change if they decide to tidy things up. It's kind of sad that the installer will result in different port numbers based on details of your system.\r\n\r\nSemi-crazy alternative:\r\n\r\n* Sandstorm could _always_ listen on port 6080, and we can use `iptables` port forwarding to borrow port 80/443, and then tell people how to turn that off if they want to have nginx etc.\r\n** The problem with this is that it's pretty un-discoverable because it means the use of port 80/443 by Sandstorm wouldn't show up in `lsof -i TCP`. I actually lost an hour last week sysadmining a system where I had configured something like this, trying to figure out why my ports were acting weird."}}