{"action":"created","issue":{"url":"https://api.github.com/repos/deis/deis/issues/3096","labels_url":"https://api.github.com/repos/deis/deis/issues/3096/labels{/name}","comments_url":"https://api.github.com/repos/deis/deis/issues/3096/comments","events_url":"https://api.github.com/repos/deis/deis/issues/3096/events","html_url":"https://github.com/deis/deis/pull/3096","id":57733427,"number":3096,"title":"WebSockets on EC2","user":{"login":"johanneswuerbach","id":864578,"avatar_url":"https://avatars.githubusercontent.com/u/864578?v=3","gravatar_id":"","url":"https://api.github.com/users/johanneswuerbach","html_url":"https://github.com/johanneswuerbach","followers_url":"https://api.github.com/users/johanneswuerbach/followers","following_url":"https://api.github.com/users/johanneswuerbach/following{/other_user}","gists_url":"https://api.github.com/users/johanneswuerbach/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneswuerbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneswuerbach/subscriptions","organizations_url":"https://api.github.com/users/johanneswuerbach/orgs","repos_url":"https://api.github.com/users/johanneswuerbach/repos","events_url":"https://api.github.com/users/johanneswuerbach/events{/privacy}","received_events_url":"https://api.github.com/users/johanneswuerbach/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/deis/deis/labels/contrib%20and%20provisioning","name":"contrib and provisioning","color":"009800"},{"url":"https://api.github.com/repos/deis/deis/labels/requires-manual-testing","name":"requires-manual-testing","color":"fbca04"},{"url":"https://api.github.com/repos/deis/deis/labels/router","name":"router","color":"bfdadc"}],"state":"open","locked":false,"assignee":{"login":"johanneswuerbach","id":864578,"avatar_url":"https://avatars.githubusercontent.com/u/864578?v=3","gravatar_id":"","url":"https://api.github.com/users/johanneswuerbach","html_url":"https://github.com/johanneswuerbach","followers_url":"https://api.github.com/users/johanneswuerbach/followers","following_url":"https://api.github.com/users/johanneswuerbach/following{/other_user}","gists_url":"https://api.github.com/users/johanneswuerbach/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneswuerbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneswuerbach/subscriptions","organizations_url":"https://api.github.com/users/johanneswuerbach/orgs","repos_url":"https://api.github.com/users/johanneswuerbach/repos","events_url":"https://api.github.com/users/johanneswuerbach/events{/privacy}","received_events_url":"https://api.github.com/users/johanneswuerbach/received_events","type":"User","site_admin":false},"milestone":null,"comments":15,"created_at":"2015-02-15T15:15:43Z","updated_at":"2015-04-03T10:54:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/deis/deis/pulls/3096","html_url":"https://github.com/deis/deis/pull/3096","diff_url":"https://github.com/deis/deis/pull/3096.diff","patch_url":"https://github.com/deis/deis/pull/3096.patch"},"body":"This PR is a proof-of-concept providing websocket support for deis on ec2 without further configuration.\r\n\r\nTo enable websockets and remote IPs, I used the proxy protocol as already proposed by @Blystad. The major difference is, that I forward 80 and 443 directly via TCP and do not terminate SSL at the ELB. SSL termination can now done by deis itself at the router (like on GCE or DO).\r\n\r\nThis approach has multiple advantages:\r\n* apps still know the forward protocol\r\n* spdy support for EC2\r\n* paves the way for multi TLD SSL on EC2\r\n* Simplifies deis as EC2 routing now works more like on GCE or DO\r\n\r\nAlternative for https://github.com/deis/deis/pull/3095 #2717\r\nWhen this concept is accepted, I'll merge the work from @Blystad into this PR and ensure that every commit is attributed correctly.\r\n\r\nI tested this manually and this sockets work now and my IP is displayed correctly:\r\n```\r\ngit clone https://github.com/heroku-examples/ruby-ws-test.git\r\ncd ruby-ws-test\r\ndeis create\r\ngit push deis master\r\ndeis open\r\n```"},"comment":{"url":"https://api.github.com/repos/deis/deis/issues/comments/89252454","html_url":"https://github.com/deis/deis/pull/3096#issuecomment-89252454","issue_url":"https://api.github.com/repos/deis/deis/issues/3096","id":89252454,"user":{"login":"Blystad","id":324506,"avatar_url":"https://avatars.githubusercontent.com/u/324506?v=3","gravatar_id":"","url":"https://api.github.com/users/Blystad","html_url":"https://github.com/Blystad","followers_url":"https://api.github.com/users/Blystad/followers","following_url":"https://api.github.com/users/Blystad/following{/other_user}","gists_url":"https://api.github.com/users/Blystad/gists{/gist_id}","starred_url":"https://api.github.com/users/Blystad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Blystad/subscriptions","organizations_url":"https://api.github.com/users/Blystad/orgs","repos_url":"https://api.github.com/users/Blystad/repos","events_url":"https://api.github.com/users/Blystad/events{/privacy}","received_events_url":"https://api.github.com/users/Blystad/received_events","type":"User","site_admin":false},"created_at":"2015-04-03T10:54:45Z","updated_at":"2015-04-03T10:54:45Z","body":"I guess it's just to add some documentation that is remaining on this to get it merged? \r\n\r\nI'm going to do a new cluster deployment next week and I'll manually include this then. But, it would be nice to get it merged asap."}}