2017-12-11 13 views
0

내 공용 도메인 아래에 하위 도메인을 만들고 싶습니다. 이제는 내 nginx 프록시와 같은 서버에서 실행되는 홈 도우미 인스턴스가 있습니다. 다음 URL에서 나의 홈 Assistant 인스턴스를 만들려면 https://something.com/homeassistant을 이용하십시오. 나는 또한이 사용Nginx 하위 도메인 - 홈 도우미

..

location /homeassistant { 
    proxy_pass http://localhost:8080/; 
    proxy_set_header Host $host; 

    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
} 

그러나 이것은 전혀 작동하지 않습니다 : 이미와 시도했습니다

location/{ 
    proxy_pass http://localhost:8080/; 
    proxy_set_header Host $host; 

    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
} 

: 저는 현재의 nginx 프록시에이 코드를 사용하고 있습니다 가이드 : https://home-assistant.io/docs/ecosystem/nginx_subdomain/

위에서 설명한 것처럼 nginx를 구성하려면 어떻게해야합니까?

+0

작동하지 않는 것은 무엇입니까? 어떤 오류가 있습니까? 하위 도메인은'sub.example.com '입니다. Subpath 또는 하위 프록시를 의미하는 것 같습니다. –

+0

네가 누군가 https://something.com/homeassidtant URL을 입력하면 localhost : 8080으로 리디렉션하고 싶습니다. – newduino

답변

0

https://something.com/homeassistant은 하위 도메인으로 언급되어 있습니다. 내 이해를 위해 서브 도메인은 https://homeassistant.something.com과 같습니다. homeassistant는 something.com의 하위 도메인입니다. 그러나, 그것은 사소한 세부 사항을 보인다.

설정에 도커를 사용합니까? 설정 발전기에 대한 템플릿을 생성,

docker run --name nginx-proxy \ 
-p 80:80 -p 443:443 -d --restart=always -v /etc/nginx/conf.d -v /etc/nginx/vhost.d -v /usr/share/nginx/html -v /etc/nginx/certs/:/etc/nginx/certs:ro --label com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy nginx 

옆에 고정 표시기 컨테이너에

Nginx에 프록시 : 나는이 같은 고정 표시기 구성을 사용하여 하위 도메인에 homeassistant을 설정

curl https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl > /etc/nginx/templates/nginx.tmpl 

프록시를 설정하는 Nginx 프록시 구성 생성기

이 실행이 때 SSL 인증서

docker run --name nginx-letsencrypt \ 
-d --restart=always --volumes-from nginx-proxy -v /etc/nginx/certs/:/etc/nginx/certs:rw -v /var/run/docker.sock:/var/run/docker.sock:ro jrcs/letsencrypt-nginx-proxy-companion 

을 처리

SSL 동반자 그래서, 당신은 자동으로 새로운 이미지를 구성하여 SSL ofloading 프록시 있습니다. 다음을 추가 할 수 있습니다.

docker run --name domain.com \ 
-p 8888:80 -d --restart=always -v /etc/nginx/apps/www.domain:/etc/nginx/conf.d -e VIRTUAL_HOST=www.domain.com -e LETSENCRYPT_HOST=www.domain.com -e [email protected] nginx 

도메인의 웹 서버를 시작하고 프록시에 자동으로 바인드하여 SSL 인증서를받습니다. 도메인이 고유 한 경우 동일한 방식으로 더 많은 사이트를 추가 할 수 있습니다. homeAssistant에 대한 하위 도메인을 사용하여이 같은 homeassistant.domain.com과 같이 할 수있다 :이 경우

docker run -d -p 8080:8123 --name home-assistant --net=host --restart=always --device=/dev/ttyACM0 -v /opt/homeAssistant:/config -v /etc/localtime:/etc/localtime:ro -e VIRTUAL_HOST=homeassistant.domain.com -e LETSENCRYPT_HOST=homeassistant.domain.com -e [email protected] homeassistant/home-assistant 

만들 집 조수 config 폴더에 빈 www 디렉토리를 만들어야합니다 (/ 옵션/homeAssistant)에서 이 예제에서는 letsEncrypt를 사용하여 SSL 도메인 테스트를 수행 할 수 있습니다.