2017-12-08 30 views
0

나는 Rancher 서버와 Rancher 클라이언트를 설치하고 일부 도킹 된 서비스를 호스팅하는 데 사용되는 단일 전용 서버가 있습니다.Hosted Traefik 컨테이너를 통해 Rancher Server를 서버 할 수 있습니까?

Traefik을 성공적으로 설치했으며 Rancher API 백엔드로 구성되어 있으며 내 서비스를 프록시하여 HTTPS 뒤에 호스팅하고 모든 것이 정상적으로 작동합니다.

그러나 htttp : //12.34.56.78 : 8080을 통해 내 Rancher 서버에 계속 액세스합니다. Trapsik 뒤에 Rancher 서버를 설치하고 https도 활성화하고 싶습니다. 목장 주인 서버가 나타나지 않는다

sudo docker run -d \ 
    -v /data/rancher/server/data:/var/lib/mysql \ 
    --restart=unless-stopped \ 
    -p 8080:8080 \ 
    -l traefik.frontend.rule=Host:rancher.mydomainname.com \ 
    -l traefik.enable=true \ 
    -l traefik.backend=rancher \ 
    -l traefik.default.protocol=http \ 
    -l traefik.port=8080 \ 
    rancher/server:v1.6.12 

(내 모든 다른 서비스를 구성 같은 방식으로)하지만 (내가 생각하는) 때문에이 Traefik에 의해 포착되지 않은 :

내가 가진 목장 서버를 시작하려 Rancher API는 Traefik이 모니터링하고 있다고 요청합니다 (Rancher 서버는 Rancher 외부에서 시작되고 호스트에 의해 호스팅되지 않기 때문에). Rancher Active Proxy에서 오는

,이 뭔가 그 도구에 의한 it was supported

내 추론이 Traefik는, 그런 식으로 내가했다 생각 대체 솔루션을 목장 주인 서버 "를 선택"할 수없는, 정확하면 어쩌면 내가 것이라고 Rancher 서버 전용으로 별도의 [file] 섹션을 만들어 Traefik .toml 파일에 추가해야합니다.

이 방법은 내가 원하는 것을 달성하기위한 올바른 방법입니까, 아니면 이것을 수행하는 더 좋은 방법입니까? .?

감사합니다.

답변

0

일부, 별도의 정적 rancherserver.toml 파일 만들기 내 질문에 ...

답 : (12.34.56.78는 물리적 서버 적힌 실제 물리적 IP 주소입니다) 것

[backends] 
[backends.rancherserver] 
    [backends.rancherserver.servers.server1] 
    url = "http://12.34.56.78:8080" 
    weight = 10 

[frontends] 
[frontends.rancherserver] 
backend = "rancherserver" 
passHostHeader = true 
entrypoints = ["https"] 
    [frontends.rancherserver.routes.onlyone] 
    rule = "Host:rancher.mydomain.com" 

은 내 문제를 해결 , htttps에서 목장 서버에 액세스 할 수 : 어떤 이유 (http를 https로에서 앞으로 자동으로)

하지만을 //rancher.mydomain.com, 나는 아직 액세스를 할 수 있어요 실제 서버가 방화벽으로 연결되어 있지만 https : //12.34.56.78 : 8080의 Rancher 서버 (참고로, https가 아님). 모두 포트 (Ubuntu에서 ufw) : 80 및 433 (및 일부는 제외) :

[email protected]:~$ sudo ufw status verbose 
[sudo] password for me: 
Status: active 
Logging: on (low) 
Default: deny (incoming), allow (outgoing), deny (routed) 
New profiles: skip 

To       Action  From 
--       ------  ---- 
22       ALLOW IN Anywhere     
443      ALLOW IN Anywhere     
80       ALLOW IN Anywhere     
1143      ALLOW IN Anywhere     
1110      ALLOW IN Anywhere     
Anywhere on docker0  ALLOW IN Anywhere     
22 (v6)     DENY IN  Anywhere (v6)    
443 (v6)     ALLOW IN Anywhere (v6)    
80 (v6)     ALLOW IN Anywhere (v6)    
1143 (v6)     ALLOW IN Anywhere (v6)    
1110 (v6)     ALLOW IN Anywhere (v6)    
Anywhere (v6) on docker0 ALLOW IN Anywhere (v6)    

그럼에도 불구하고 나는 여전히 Traefik을 오용하고 8080 포트가 저 트 레프 (Traefik) 구성을 누설 할 수 있다고 생각합니다. ... (