|
|
|
@@ -74,7 +74,7 @@ func (s *Service) Register() error {
|
|
|
|
ID: s.GetID(),
|
|
|
|
ID: s.GetID(),
|
|
|
|
// Kind: consul.ServiceKindConnectProxy,
|
|
|
|
// Kind: consul.ServiceKindConnectProxy,
|
|
|
|
Name: s.Name,
|
|
|
|
Name: s.Name,
|
|
|
|
Address: s.GetFullAddr(),
|
|
|
|
Address: s.Address,
|
|
|
|
Port: s.port,
|
|
|
|
Port: s.port,
|
|
|
|
Tags: s.getTags(),
|
|
|
|
Tags: s.getTags(),
|
|
|
|
// Connect: &consul.AgentServiceConnect{Native: true},
|
|
|
|
// Connect: &consul.AgentServiceConnect{Native: true},
|
|
|
|
@@ -178,22 +178,24 @@ func (s *Service) healthCheck() (bool, error) {
|
|
|
|
func (s *Service) getTags() []string {
|
|
|
|
func (s *Service) getTags() []string {
|
|
|
|
tags := []string{
|
|
|
|
tags := []string{
|
|
|
|
"traefik.enable=true",
|
|
|
|
"traefik.enable=true",
|
|
|
|
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.trustForwardHeader=true",
|
|
|
|
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.authRequestHeaders=Cookie",
|
|
|
|
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.authResponseHeaders=Set-Cookie, Server",
|
|
|
|
|
|
|
|
"traefik.http.middlewares.auth_" + s.Name + ".plugin.auth.handlerURL=" + config.GetEnv("AUTH_HANDLER_URL", "http://identity.service.ego.io/api/v1/traefik"),
|
|
|
|
|
|
|
|
"traefik.http.middlewares.requestid_" + s.Name + ".plugin.requestid.headerName=X-Request-ID",
|
|
|
|
|
|
|
|
"traefik.http.middlewares.stripprefix_" + s.Name + ".stripprefix.prefixes=" + s.pathPrefix,
|
|
|
|
"traefik.http.routers." + s.Name + ".rule=PathPrefix(`" + s.pathPrefix + "`)",
|
|
|
|
"traefik.http.routers." + s.Name + ".rule=PathPrefix(`" + s.pathPrefix + "`)",
|
|
|
|
// "traefik.http.routers." + s.Name + ".rule=Host(`" + s.domain + "`)",
|
|
|
|
// "traefik.http.routers." + s.Name + ".rule=Host(`" + s.domain + "`)",
|
|
|
|
"traefik.http.routers." + s.Name + ".entryPoints=https",
|
|
|
|
"traefik.http.routers." + s.Name + ".entryPoints=https",
|
|
|
|
// "traefik.http.routers." + s.Name + ".tls=true",
|
|
|
|
// "traefik.http.routers." + s.Name + ".tls=true",
|
|
|
|
"traefik.http.routers." + s.Name + ".service=" + s.Name,
|
|
|
|
"traefik.http.routers." + s.Name + ".service=" + s.Name,
|
|
|
|
"traefik.http.routers." + s.Name + ".middlewares=stripprefix_" + s.Name,
|
|
|
|
// "traefik.http.routers." + s.Name + ".middlewares=auth_" + s.Name + ",stripprefix_" + s.Name,
|
|
|
|
// "traefik.http.routers." + s.Name + ".middlewares=auth_" + s.Name + ",requestid_" + s.Name + ",stripprefix_" + s.Name,
|
|
|
|
"traefik.http.routers." + s.Name + ".middlewares=auth_" + s.Name + ",requestid_" + s.Name + ",stripprefix_" + s.Name + "",
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.server.scheme=http",
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.server.scheme=http",
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.server.port=" + strconv.Itoa(s.port),
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.server.port=" + strconv.Itoa(s.port),
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.passhostheader=false",
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.passhostheader=true",
|
|
|
|
"traefik.http.middlewares.auth_" + s.Name + ".plugin.auth.handlerURL=" + config.GetEnv("AUTH_HANDLER_URL", ""),
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.healthcheck.interval=1",
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.authRequestHeaders=Cookie",
|
|
|
|
"traefik.http.services." + s.Name + ".loadbalancer.healthcheck.timeout=1",
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.authResponseHeaders=Set-Cookie, Server",
|
|
|
|
|
|
|
|
// "traefik.http.middlewares.auth_" + s.Name + ".forwardauth.trustForwardHeader=true",
|
|
|
|
|
|
|
|
// "traefik.http.middlewares.requestid_" + s.Name + ".plugin.requestid.headerName=X-Request-ID",
|
|
|
|
|
|
|
|
"traefik.http.middlewares.stripprefix_" + s.Name + ".stripprefix.prefixes=" + s.pathPrefix,
|
|
|
|
|
|
|
|
"traefik.tls.certificates.certfile=/certs/client.cert",
|
|
|
|
"traefik.tls.certificates.certfile=/certs/client.cert",
|
|
|
|
"traefik.tls.certificates.keyfile=/certs/client.key",
|
|
|
|
"traefik.tls.certificates.keyfile=/certs/client.key",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|