2017-12-11 14 views
0

ホームアシスタントのインスタンスは、nginxプロキシと同じサーバー上で動作しています。これで、私のパブリックドメインの下にサブドメインを作成したいと考えています。次のURLのホームアシスタントインスタンスを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

ええと、誰かがURL https://something.com/homeassidtantを入力すると、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証明書を扱う

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 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 

は、ドメインのWebサーバを起動し、あなたのプロキシに自動的にバインドし、それのために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ディレクトリを作成してください(は/ opt/homeAssistant)でこの例では、letsEncryptによってSSLドメイン・テストを行うことができます。

関連する問題