+ Apache Configuration +
++ + +
This is an example about how you can configure Apache to act as a proxy for home assistant.
+ +This is useful if you want to have:
+* a subdomain redirecting to your home assistant instance
+* several subdomain for several instance
+* HTTPS redirection
Subdomain
+ +So you already have a working Apache server available at example.org.
+Your home assistant is correctly working on this web server and available at localhost:8123
To be able to access to your home assistant instance by using https://home.example.org, add to following file into /etc/httpd/conf/extra/hass.conf
<VirtualHost *:443> + ProxyPreserveHost On + ProxyRequests Off + ServerName home.example.org + ProxyPass / http://localhost:8123/ + ProxyPassReverse / http://localhost:8123/ +</VirtualHost> +
and make sure that this file is read by apache’s main configiuration file /etc/httpd/conf/httpd.conf
... +Include conf/extra/hass.conf +... +
If you don’t want HTTPS, you can change <VirtualHost *:443>
to <VirtualHost *:80>
or better consider redirecting all HTTP to HTTPS.
Multiple Instance
+ +You already have home assistant running on localhost:8123 and available at home.example.org as describe before.
+The configuration file for this home assistant is available in /home/alice/.homeassistant/configuration.yaml
You want another instance available at https://countryside.example.org
+ +You can either :
+* Create a new user, bob
, to hold the configuration file in /home/bob/.homeassistant/configuration.yaml
and run home assistant as this new user
+* Create another configuration directory in /home/alice/.homeassistan2/configuration.yaml
and run home assistant using hass --config /home/alice/.homeassistant2/
In both solution, change port number used by modifying configuration.yaml
http: + server_port: 8124 + ... +
Start home assistant: Now, you have another instance running on localhost:8124
+ +To access this instance by using https://countryside.example.org add to /etc/httpd/conf/extra/hass.conf
<VirtualHost *:443> + ProxyPreserveHost On + ProxyRequests Off + ServerName countryside.example.org + ProxyPass / http://localhost:8124/ + ProxyPassReverse / http://localhost:8124/ +</VirtualHost> +
HTTP to HTTPS redirection
+ +Add to your /etc/httpd/conf/extra/hass.conf
<VirtualHost *:80> + ServerName example.org + ServerSignature Off + + RewriteEngine on + RewriteCond %{HTTPS} !=on + RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L] +</VirtualHost> +