{"action":"created","issue":{"url":"https://api.github.com/repos/emilevauge/traefik/issues/178","repository_url":"https://api.github.com/repos/emilevauge/traefik","labels_url":"https://api.github.com/repos/emilevauge/traefik/issues/178/labels{/name}","comments_url":"https://api.github.com/repos/emilevauge/traefik/issues/178/comments","events_url":"https://api.github.com/repos/emilevauge/traefik/issues/178/events","html_url":"https://github.com/emilevauge/traefik/pull/178","id":129861942,"number":178,"title":"[WIP] Add multiple entry points support","user":{"login":"emilevauge","id":6207234,"avatar_url":"https://avatars.githubusercontent.com/u/6207234?v=3","gravatar_id":"","url":"https://api.github.com/users/emilevauge","html_url":"https://github.com/emilevauge","followers_url":"https://api.github.com/users/emilevauge/followers","following_url":"https://api.github.com/users/emilevauge/following{/other_user}","gists_url":"https://api.github.com/users/emilevauge/gists{/gist_id}","starred_url":"https://api.github.com/users/emilevauge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilevauge/subscriptions","organizations_url":"https://api.github.com/users/emilevauge/orgs","repos_url":"https://api.github.com/users/emilevauge/repos","events_url":"https://api.github.com/users/emilevauge/events{/privacy}","received_events_url":"https://api.github.com/users/emilevauge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/emilevauge/traefik/labels/code-review","name":"code-review","color":"fad8c7"},{"url":"https://api.github.com/repos/emilevauge/traefik/labels/design-review","name":"design-review","color":"fef2c0"}],"state":"open","locked":false,"assignee":{"login":"vdemeester","id":6508,"avatar_url":"https://avatars.githubusercontent.com/u/6508?v=3","gravatar_id":"","url":"https://api.github.com/users/vdemeester","html_url":"https://github.com/vdemeester","followers_url":"https://api.github.com/users/vdemeester/followers","following_url":"https://api.github.com/users/vdemeester/following{/other_user}","gists_url":"https://api.github.com/users/vdemeester/gists{/gist_id}","starred_url":"https://api.github.com/users/vdemeester/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vdemeester/subscriptions","organizations_url":"https://api.github.com/users/vdemeester/orgs","repos_url":"https://api.github.com/users/vdemeester/repos","events_url":"https://api.github.com/users/vdemeester/events{/privacy}","received_events_url":"https://api.github.com/users/vdemeester/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2016-01-29T19:36:30Z","updated_at":"2016-02-05T14:58:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/emilevauge/traefik/pulls/178","html_url":"https://github.com/emilevauge/traefik/pull/178","diff_url":"https://github.com/emilevauge/traefik/pull/178.diff","patch_url":"https://github.com/emilevauge/traefik/pull/178.patch"},"body":"This PR adds multiple entry points support to traefik, aka, traefik can now listens on http and https :)\r\nThis PR also add entry point redirection.\r\n\r\nSimple entrypoint definition:\r\n\r\n```toml\r\n[entryPoints]\r\n  [entryPoints.http]\r\n  address = \":80\"\r\n```\r\n\r\nTo redirect an http entrypoint to an https entrypoint (with SNI support):\r\n```toml\r\n[entryPoints]\r\n  [entryPoints.http]\r\n  address = \":80\"\r\n    [entryPoints.http.redirect]\r\n      entryPoint = \"https\"\r\n  [entryPoints.https]\r\n  address = \":443\"\r\n    [entryPoints.https.tls]\r\n      [[entryPoints.https.tls.certificates]]\r\n      CertFile = \"integration/fixtures/https/snitest.com.cert\"\r\n      KeyFile = \"integration/fixtures/https/snitest.com.key\"\r\n      [[entryPoints.https.tls.certificates]]\r\n      CertFile = \"integration/fixtures/https/snitest.org.cert\"\r\n      KeyFile = \"integration/fixtures/https/snitest.org.key\"\r\n```\r\n\r\nTo redirect an entrypoint rewriting the URL:\r\n```toml\r\n[entryPoints]\r\n  [entryPoints.http]\r\n  address = \":80\"\r\n    [entryPoints.http.redirect]\r\n      regex = \"^http://localhost/(.*)\"\r\n      replacement = \"http://mydomain/$1\"\r\n```\r\n\r\nEntrypoints to be used by frontends that do not specify any entrypoint:\r\n\r\n```toml\r\ndefaultEntryPoints = [\"http\", \"https\"]\r\n```\r\n\r\nFrontends can overrides `defaultEntryPoints`:\r\n\r\n```toml\r\n[frontends]\r\n  [frontends.frontend1]\r\n  backend = \"backend2\"\r\n    [frontends.frontend1.routes.test_1]\r\n    rule = \"Host\"\r\n    value = \"test.localhost\"\r\n  [frontends.frontend2]\r\n  backend = \"backend1\"\r\n  passHostHeader = true\r\n  entrypoints = [\"https\"] # overrides defaultEntryPoints\r\n    [frontends.frontend2.routes.test_1]\r\n    rule = \"Host\"\r\n    value = \"{subdomain:[a-z]+}.localhost\"\r\n  [frontends.frontend3]\r\n  entrypoints = [\"http\", \"https\"] # overrides defaultEntryPoints\r\n  backend = \"backend2\"\r\n    rule = \"Path\"\r\n    value = \"/test\"\r\n```\r\n\r\n- [x] multiple entry points\r\n- [x] redirection\r\n- [x] providers\r\n- [x] documentation\r\n\r\nFixes #113 and some of #61"},"comment":{"url":"https://api.github.com/repos/emilevauge/traefik/issues/comments/180389982","html_url":"https://github.com/emilevauge/traefik/pull/178#issuecomment-180389982","issue_url":"https://api.github.com/repos/emilevauge/traefik/issues/178","id":180389982,"user":{"login":"emilevauge","id":6207234,"avatar_url":"https://avatars.githubusercontent.com/u/6207234?v=3","gravatar_id":"","url":"https://api.github.com/users/emilevauge","html_url":"https://github.com/emilevauge","followers_url":"https://api.github.com/users/emilevauge/followers","following_url":"https://api.github.com/users/emilevauge/following{/other_user}","gists_url":"https://api.github.com/users/emilevauge/gists{/gist_id}","starred_url":"https://api.github.com/users/emilevauge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilevauge/subscriptions","organizations_url":"https://api.github.com/users/emilevauge/orgs","repos_url":"https://api.github.com/users/emilevauge/repos","events_url":"https://api.github.com/users/emilevauge/events{/privacy}","received_events_url":"https://api.github.com/users/emilevauge/received_events","type":"User","site_admin":false},"created_at":"2016-02-05T14:58:55Z","updated_at":"2016-02-05T14:58:55Z","body":"@rebaseTraefik "}}