Access your internal websites! Nginx Reverse Proxy in Home Assistant.

  Рет қаралды 58,727

mostlychris

mostlychris

Күн бұрын

Пікірлер: 111
@Denizenn
@Denizenn 3 жыл бұрын
Thank you very much for this! Hours spent yesterday trying to achieve this and got it done in 30 minutes thanks to your video, really appreciate it!
@mostlychris
@mostlychris 3 жыл бұрын
You're welcome. Glad it helped!
@Percy500
@Percy500 2 жыл бұрын
Thank you for this tutorial. I spent over 10 hours now on this problem, becuase I didn't enable Websocket Support, so thanks for this nice video.
@mostlychris
@mostlychris 2 жыл бұрын
You're welcome!
@borishruby7131
@borishruby7131 Жыл бұрын
Hi Chris, wonderful video. Probably the best regarding reverse proxy. Everything is now clear to me. Many thanks. Really love your videos. Keep up the good work! But I have found out that the Access List doesn't work for me as it should. If I set some authorization to some host it won't let me in even when putting in the correct credentials. The small window keeps popping up regardless of what credentials I key in. Btw. if you made some changes in authorizations you have to always update the host as well otherwise it won't be applied. That's a bit annoying but it is like that. I've found it somewhere in youtube by chance.
@miguelgarcia-vg1fh
@miguelgarcia-vg1fh 3 жыл бұрын
I liked and subscribed to keep on watching your videos on HA so keep em coming.
@mostlychris
@mostlychris 3 жыл бұрын
Awesome, thank you!
@btrigaux
@btrigaux 2 жыл бұрын
Hi Chris, I'm trying to setup this NGINX addon on top of my HA. I took NGINX Home Assistant SSL proxy, which is a bit (or more ?) different from the one you're covering here. Please do you have some recommendation about the one to be used ? My config : Home Assistant 2022.8.4 / Supervisor 2022.08.3 / Operating System 8.4 / Frontend 20220802.0 - latest. With NGINX installed and configured, only the local http ways is operational. The HTTPS way (with duckdns) doesn't work. The strange thing for me is the lack of error message in any log file. Thanks for helping, Bernard.
@craigw4644
@craigw4644 3 жыл бұрын
Nice presentation, thanks. Since I already have HA running, might as well use it to access some other servers in the house.
@mostlychris
@mostlychris 3 жыл бұрын
Yep and this makes it nice.
@giolovin
@giolovin 5 ай бұрын
I have one big question. When should one use 'NGINX Home Assistant SSL proxy' and when 'Nginx proxy manager'? Does the first one only allow one domain and the second one several different domains? What's the difference between those two addons?
@towers3372
@towers3372 2 ай бұрын
I am facing the same thing right now. You're correct, the 'NGINX Home Assistant SSL proxy' is automatic setup for https to HA from the internet. However, I have other services on my local network I wish to access which in HA which are running http, so I am using this video to figure out how to migrate to 'Nginx proxy manager'. It looks like I cannot have both at the same time, since they bind to the same port 443.
@NerdCyclist
@NerdCyclist 2 жыл бұрын
I have managed to get nginx up and running and I also have a spare domain that I can use but (only used for email) what I don't understand is how to point the domain towards the nginx server. I plan to use different sub domains to access different servers on my network, how do I get this to work? Do I have to create A records on the sub domains? As a home ISP doesn't provide static IP I use a DDNS service. Any help would be appreciated
@rlillard
@rlillard 2 жыл бұрын
I followed this guide and I am receiving error 400: Bad Request when accessing this on an external network. Internal works file.
@tariq4846
@tariq4846 Жыл бұрын
Same here
@hamadal-rakeb9655
@hamadal-rakeb9655 3 жыл бұрын
Great presentation . Thanks a lot
@mostlychris
@mostlychris 3 жыл бұрын
Most welcome!
@khalidelgazzar
@khalidelgazzar 2 жыл бұрын
Great video and explaination.. thank you
@mostlychris
@mostlychris 2 жыл бұрын
You're welcome. Thanks for watching!
@antoniodecrisci2369
@antoniodecrisci2369 2 жыл бұрын
Another great video. What if you used force SSL with let's encrypt instead of challenge dns? I tried the former but kept getting "internal error" with nginx....so I'm just using DuckDNS with SSL. Not sure why I can't get nginx to work with force SSL.
@mostlychris
@mostlychris 2 жыл бұрын
Those are two different things. Force SSL tells the connection to force SSL in the browser. Challenge DNS is a method for you to authorize your SSL certificate with Let's Encrypt. There is a method that will talk directly to your HA instance on port 80 but that has to a port that is open publicly and forwarded to your HA instance. I wouldn't do that. As for the error, not sure what is going on there.
@antoniodecrisci2369
@antoniodecrisci2369 2 жыл бұрын
@@mostlychris I agree, I couldn't get it to work (with force SSL) so I unistalled DuckDNS, NGINX, SSL etc. closed all my ports on the router and joined the Nabu Cada subscriptoin plan. Much simpler, and safer now!
@murrayzhong3968
@murrayzhong3968 3 жыл бұрын
At 12:25, you said paste in Credential file, but you did nothing.
@mostlychris
@mostlychris 3 жыл бұрын
I edited out the actual pasting of the file because it contains my credentials. You would put your own credentials in there based on your DNS provider and how they format it.
@murrayzhong3968
@murrayzhong3968 3 жыл бұрын
@@mostlychris use mask to cover your credential
@jmaviles
@jmaviles 3 жыл бұрын
Thank you @mostlychris, I am a little stuck, I am trying throught Force SSL and always same error message like your in min 5, how to resolve it will be great !! I am using duckdns and is not in DNS challenge list options.....any comments?
@mostlychris
@mostlychris 3 жыл бұрын
I had used Let's Encrypt add-on before using the Nginx proxy. When I installed the proxy add-on it complained about the existing certs and that there was no auth method. Are you running any other certificate manager on the same device?
@NinaMariePhoto
@NinaMariePhoto 2 жыл бұрын
Im having trouble where I dont see any errors with maria or nginx, but when I try to load the nginx UI, it just doesnt load. eventually it times out, what am I doing wrong?
@mostlychris
@mostlychris 2 жыл бұрын
We're chatting in Discord about this.
@patricklang7201
@patricklang7201 2 жыл бұрын
I have an external nginx proxy manager, but I always get 403 forbidden, does anyone know why?
@Nrodrigues90
@Nrodrigues90 2 жыл бұрын
Did you test the home assistant android app with an access list? When I try to configure my url Im always receiving a bad request because I'm not able to fill the credentials of my access list.
@mostlychris
@mostlychris 2 жыл бұрын
I have not tried that. I'll give it a look.
@cemaranetfeedback6295
@cemaranetfeedback6295 2 жыл бұрын
So... CMIIW the advantages of this method compared to using free ddns such as duckdns / freeddns is that we can access locally and externally from phone, and secondly it's secured right? Other than that Is there any latency improvement ?
@mostlychris
@mostlychris 2 жыл бұрын
I don't think latency plays into this. DuckDNS in the context of HA is having a single duckdns owned domain point to your HA instance. With the reverse proxy, you can run stuff inside your network that is then accessed via a single port through your router. The proxy picks up the domain name and then forwards it to your internal resource. Access is remote from any web enabled device (phone, PC, etc). I have remote monitoring enabled for some of my internal applications.
@ThijmenCodes
@ThijmenCodes 2 жыл бұрын
Hi Chris, great video. I Initially setup my HA installation using the other proxy add-on, though I'm currently in the process of building a mediaserver using Jellyfin that I'd like to have remote access to which means that plugin is not sufficient. Was looking for a solution and stumbled across your video... Really convenient!
@mostlychris
@mostlychris 2 жыл бұрын
Excellent! Good luck!
@gambler3k
@gambler3k Жыл бұрын
Do u just have jellyfin as publicly accessible or with username and password? if i use username and password i cant connect to jellyfin through the phone app, or is it a way to combine the username and password in the url?
@ThijmenCodes
@ThijmenCodes Жыл бұрын
​@@gambler3k I use Jellyfin's built-in authentication! Though I use NGINX to make the instance available to the web, and not Jellyfin's built-in method.
@error53ish
@error53ish 2 жыл бұрын
Would this still work if your ISP uses CGNAT? I'm trying to setup a way to expose my Home Assistant VM to the internet and most methods don't work with CGNAT.
@mostlychris
@mostlychris 2 жыл бұрын
I don't think so. However, there are options such as Twingate (just released a video on that kzbin.info/www/bejne/gX3FXpyPa82WhMk) or VPN such as Tailscale (kzbin.info/www/bejne/aYKoi4WmrcuNppY) that I think works behind CGNAT.
@G8YTZ
@G8YTZ 2 жыл бұрын
Chris, great video! One question; can I use a single domain to connect to different ports on different servers, or do I have to create more domains or perhaps sub domains?
@mostlychris
@mostlychris 2 жыл бұрын
You need to be able differentiate the request coming into the proxy. You can have one domain but would need to use subdomains to make things go to different ports at the proxy level. sub1.domain.com; sub2.domain.com; etc.
@G8YTZ
@G8YTZ 2 жыл бұрын
@@mostlychris Thanks Chris, one thing I discovered was that you must refresh the domain entry if you (say) create an access list or add another user. That one has me scratching my head for a while!
@Shaq2k
@Shaq2k 3 жыл бұрын
Excellent video. Question: If i use the Home Assistant Cloud I don't need to setup this, right? Thanks.
@mostlychris
@mostlychris 3 жыл бұрын
Correct. If you are using Nabu Casa, you don't need this. However, if you have other things internal to your network then this provides a way to get to them without having to port forward. I have quite a few other internal sites (some noted in the video) that this is great for.
@yosypkava8909
@yosypkava8909 3 жыл бұрын
Thank you!
@mostlychris
@mostlychris 3 жыл бұрын
You're welcome!
@Sebastian-xf8je
@Sebastian-xf8je 2 жыл бұрын
Anything need to be added for this to function with AdGuard home addon?
@mostlychris
@mostlychris 2 жыл бұрын
Are you asking if you can use the AdGuard add-on via the reverse proxy? If so, you could, but not sure what the use case would be.
@michaellim7542
@michaellim7542 3 жыл бұрын
Very informative video. That is what I am looking for to setup nginx. Just one question can i add pi-hole to my network after setting up the Nignx reverse proxy and how to do it?
@mostlychris
@mostlychris 3 жыл бұрын
You can use pi-hole internally. It doesn't interfere with this installation. Pi-hole used to be an add-on in Home Assistant but I don't see it now. I personally use AdGuard, which is an add-on and provides similar features. I use "split DNS" so that my local devices resolve to the local IPs and then with the proxy from outside, they are sent to the appropriate device. If you are running Home Assistant, I'd recommend using AdGuard.
@loxlie
@loxlie 2 жыл бұрын
@@mostlychris One caveat there - AdGuard uses port 80, so that will interfere with LetsEncrypt's HTML-based authentication, and must be disabled while generating/renewing a certificate.
@87vortex87
@87vortex87 3 жыл бұрын
I already connect to HA through VPN, but i need https to connect internally to bitwarden. Bitwarden doesn't accept http traffic, can i just use the HA http ip with port for bitwarden and redirect over https with same HA ip and bitwarden port?
@mostlychris
@mostlychris 3 жыл бұрын
I have a reverse proxy set up for bitwarden (now vaultwarden). SSL requires a certificate so I created a domain that I use on the reverse proxy in order to point to my vaultwarden port on the HA server internally. I also use AdGuard to do a DNS rewrite so my vaultwarden secure domain can be reached both internally and externally at the same URL.
@groto27
@groto27 3 жыл бұрын
I am also using Google Domains... but I can't seem to find the instructions on how to get this Credentials File Content anywhere on the Google Domains page. Can you point me in the right direction? Thanks!
@mostlychris
@mostlychris 3 жыл бұрын
I was using Google Domains but in order to use credentials, you have to use Google Cloud DNS. console.cloud.google.com/net-services/dns. You would use Google Domains as the registrar and Google Cloud DNS to handle the zone files. Sounds strange to use Google to use Google (not a typo) but that is how it works. Of course, you can use any DNS provider that has an automated credential type setup that is compatible with this add-on.
@groto27
@groto27 3 жыл бұрын
@@mostlychris thank you! I will look into it.
@dhtguru6233
@dhtguru6233 2 жыл бұрын
Hi Chris, love your work. Always check with you here before I look anywhere else with new projects. I used this video to setup my remote access. Now its time to renew my Lets Encrypt certificate (6 days left) and I am getting an "Internal Error" msg from the Nginx Proxy Manager page when I select "Renew Now". The forum at Lets Encrypt weren't really knowledgeable about HA and could only offer guesses. Any clue on how I can renew? Thanks in advance.
@mostlychris
@mostlychris 2 жыл бұрын
I have this issue when it can't use the same auth method as when I set up my initial certificate. I just delete the cert, go into the host and re-add the cert using the verification method I originally used. Your site using that cert will be down for the few minutes that you take to provision a new cert.
@naronaroyan323
@naronaroyan323 2 жыл бұрын
What if we don't want to use MariaDB so we don't harm our FlashDrive that HA is installed on?
@mostlychris
@mostlychris 2 жыл бұрын
I don't know that you can use anything else other than MariaDB. It mentions this as a requirement. What were you planning on using?
@naronaroyan323
@naronaroyan323 2 жыл бұрын
@@mostlychris I don’t think HA’s default is MariaDB. Isn’t it SQL?
@kevinstack3305
@kevinstack3305 3 жыл бұрын
Great Video--very informative. This is where I get stuck: What do I type into the Credentials File Content box? I have the JSON file with the API token from Google which is currently downloaded to my PC, but it is not on my Pi.
@mostlychris
@mostlychris 3 жыл бұрын
If you are using Google, you should have the JSON file with your credentials. Each DNS provider will have their own auth method and/or credentials format. If Google, you should be able to paste the raw JSON credentials file directly into the box.
@ansomeBob
@ansomeBob 3 жыл бұрын
I fell over here as well. I use duckdns, it's not in the list so it's not clear how to get a credentials file :-( Back to researching for me...
@jayargent4156
@jayargent4156 3 жыл бұрын
Hi I'm getting an error that port 80 is already in use when I start NginX, I have DuckDNS installed for external access but this does not allow for access on my internal network, My install is in a Virtual machine on Windows10 if this makes any difference? do I do away with DuckDNS and then use this instead? will this then allow me to load my Node red dashboard into HA? because as I'm secure I can only load secure sites in to a Web Card, and my node red is installed within HA, - If I make this secure then I can't use some Alexa integrations - going around in circles, I have already tried the other NginX add-on and almost locked myself out of everything...
@mostlychris
@mostlychris 3 жыл бұрын
You are doing a non-standard install so there could be anything using that port. You need to look through all your add-ons and figure out what is using port 80. With my installs, I can use portainer to tell visually tell me what ports I have mapped to what containers. I can tell you how to do this in Linux and unix variants but no so much in windows. Not sure what a web card is so I'm not going to be much help there.
@kevinnadjarian3328
@kevinnadjarian3328 3 жыл бұрын
was challenging with CloudFlare but managed to do it, the host is showing "online" but when I open the URL the page is not resolved
@mostlychris
@mostlychris 3 жыл бұрын
Is this an external URL that can't be resolved?
@kevinnadjarian3328
@kevinnadjarian3328 3 жыл бұрын
​@@mostlychris When I'm port forwarding 80/443 to my Home Assistant OS (Nginx) my external IP won't resolve, I'm getting a error 522 from Cloudflare, sometime my external IP is redirected to LocalHAIP:8443/hassio/addon/a0d7b954_nginxproxymanager/info and back to my external IP and again error 522 from Cloudflare. when I'm only forwarding HA_Port to HA_Port everything is working fine (this bypass Nginx and just use home assistant default web server). thinking about it now, my gateway (UDM Pro / Ubiquiti) might already use port 443 for remote management.
@mostlychris
@mostlychris 3 жыл бұрын
It sounds like you have some routing issues. I use split DNS with AdGuard on my internal network so that it points to the correct place. If you are trying to reach the external URL from inside your local network it might be looping.
@jocelynlagarenne882
@jocelynlagarenne882 3 жыл бұрын
something that is bothering me : once you put everything in place, do you access these internal url directly with a public url (not what i want) OR do you access them Through home assistant interface (requiring to be authenticated into home assistant interface) ? i'm looking to this second option to access my grafana, NAS(web interface) etc through my home assistant when i'm outside but with the authentication of Home assistant, without giving a direct access to these web interfaces
@jocelynlagarenne882
@jocelynlagarenne882 3 жыл бұрын
in my current setting, it's working while i'm on my LAN network : i can embed my synology web interface into a panel, but when i'm accessing my home assistant from outside, the panel doesnt load ... i cant figure out what is happening. do you have any tips ? i would very much appreciate it :)
@mostlychris
@mostlychris 3 жыл бұрын
I think this is something best suited for a VPN type setup. It sounds like you are attempting to connect to other devices inside your network that are not on HA itself. This might help: kzbin.info/www/bejne/mJq4Zp9miZmYbtk
@encostablanca
@encostablanca 3 жыл бұрын
Since core 2021.7.0 this is not working no more, seems to be a breaking change.. Can't figure out how to allow it in HA..
@mostlychris
@mostlychris 3 жыл бұрын
Uh oh. What part is not working?
@encostablanca
@encostablanca 3 жыл бұрын
@@mostlychris remote access due to reverse proxy
@mostlychris
@mostlychris 3 жыл бұрын
@@encostablanca Yes. There is a breaking change noted. I have not yet upgraded to 2021.7 because I haven't gone through all the breaking changes. I'm not sure what might be misconfigured but make sure you have the configuration settings in the http section as noted below (from their breaking changes section on the website). Home Assistant will now block HTTP requests when a misconfigured reverse proxy, or misconfigured Home Assistant instance when using a reverse proxy, has been detected. If you are using a reverse proxy, please make sure you have configured use_x_forwarded_for and trusted_proxies in your HTTP integration configuration. For more information, see the HTTP integration documentation. Additionally, access to Home Assistant from the same IP address as a trusted proxy will be rejected if the request is marked as forwarded.
@Fukaka2343
@Fukaka2343 3 жыл бұрын
Hi, thanks for the great tutorial, i have Jboss application with a Ip:port/xyz/abc type of url, which i want to shorten using a reverse proxy, would it be possible to acheive? i have tried to setup the "custom location" with path but cant get it to get to the (/xyz/abc ) can you make a tutorial for such., thanks.
@mostlychris
@mostlychris 3 жыл бұрын
Hey Abid. I'll add that to my list.
@huhcom
@huhcom 3 жыл бұрын
When I click the Web UI link I get a blank page until the connection times out. What should I do?
@mostlychris
@mostlychris 3 жыл бұрын
I need more detail on what you are clicking and what you are trying to reach for the URL. Maybe something to post in my discord server.
@huhcom
@huhcom 3 жыл бұрын
@@mostlychris Just the link to port 81.
@mostlychris
@mostlychris 3 жыл бұрын
Are you proxying a specific URL (don't post it here)?
@huhcom
@huhcom 3 жыл бұрын
@@mostlychris The same URL I use to get to Home Assistant but using port 81 instead port 80.
@mostlychris
@mostlychris 3 жыл бұрын
@@huhcom If you get a chance, maybe jump into my discord for a more detailed discussion.
@okanerdem
@okanerdem 2 жыл бұрын
If we added access list (password) how can we access from mobile HA app?
@mostlychris
@mostlychris 2 жыл бұрын
That's a great question. I don't think there is an option for the companion app to authenticate at a proxy level. You might just have to rely on HA's auth for that.
@okanerdem
@okanerdem 2 жыл бұрын
​@@mostlychris Yeah, I am also use 2FA. Also there is some of firewall rules on cloudflare for now. Other option, just use it with vpn
@mossanaismael134
@mossanaismael134 3 жыл бұрын
Hello I want to make a small company for make proxy server then sell proxies what are requirements ?? Thanks for your help 🤠
@mostlychris
@mostlychris 3 жыл бұрын
Don't think that applies here.
@workhard2belazy
@workhard2belazy 3 жыл бұрын
HOLY CRAP THIS IS SO EASY assuming you are willing to shell out 12 bucks a year for a domain
@mostlychris
@mostlychris 3 жыл бұрын
Yes. I've had domain names for so long now that it's just part of my yearly budge.
@crevard203
@crevard203 2 жыл бұрын
You had me going there until the creating a domain part :(
@mostlychris
@mostlychris 2 жыл бұрын
Domains are not hard to manage. There are a ton of providers out there that you can register a domain with and most of them provide DNS services as well. Were you planning on doing something with the reverse proxy?
@irtibatkisileri222
@irtibatkisileri222 2 жыл бұрын
@@mostlychris Thanks for awesome tutorials. In fact I am too lost after sub domain part. It is difficult. Kindly consider doing a follow up tutorial regarding creating a sub domain record and getting that data from domain providers or VPS providers. Thanks.
@mostlychris
@mostlychris 2 жыл бұрын
@@irtibatkisileri222 I added that to my list of vid requests.
@dogo7705
@dogo7705 2 жыл бұрын
Was the NGINX proxy manager removed? I don't see it in the add-on store and am unable to add the git through HACS
@mostlychris
@mostlychris 2 жыл бұрын
It's in the "Home Assistant Community Add-ons" section. You might have to add that as a repository in the main add-ons section.
Home Assistant Remote Access for FREE - DuckDNS + LetsEncrypt + Single URL
19:04
Everything Smart Home
Рет қаралды 287 М.
Nginx Proxy Manager - ACCESS LIST protection for internal services
8:38
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 258 МЛН
Мама у нас строгая
00:20
VAVAN
Рет қаралды 12 МЛН
Home Assistant Remote Access using NGINX
9:31
Smart Home Addict
Рет қаралды 44 М.
FREE Domain and SSL for Local Network | Nginx Proxy Manager on Docker - #13
16:22
Tech - The Lazy Automator
Рет қаралды 64 М.
Quick and Easy Local SSL Certificates for Your Homelab!
12:08
Wolfgang's Channel
Рет қаралды 859 М.
Secure Local Domains Easily with Pi-hole & Nginx Proxy
9:02
5 INCREDIBLE Home Assistant Dashboards
9:47
Everything Smart Home
Рет қаралды 390 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 258 МЛН