I have my maker gateway exposed to the internet. I use a domain name and cert purchased from No-IP, and I have the gateway sitting behind Nginx Proxy Manager. This works fine using my computer's browser but when I try to connect using my iPhone, things fall apart. When I set up the gateway in the app, I get 'valid host' and can see my projects in the list. When I try to launch my project, it hangs up. I never even see the login screen. The project in question is currently set up to use the default user source (for now). I can't seem to figure out why the iPhone won't connect.
I'm pretty green at these technologies (not Ignition/Perspective). Any help would be appreciated.
Have you enabled web socket through nginx?
I did. At first, I couldn't even connect with my browser. I finally figured out that I missed the web sockets toggle. Thanks for checking!
Here’s a bit more detail based on what I’m seeing in the logs:
The Nginx access logs show my iPhone successfully loading various static resources—CSS, fonts, and the initial Perspective page—each returning HTTP 200. Then, when I try to open the project, there’s a 302 redirect to /data/perspective/login/<project>
, which I assume is the login page. Everything seems normal on paper, but on the phone itself, the Perspective app (or Safari) never actually displays that login screen—it just hangs.
If anyone has run into a similar situation—where logs look normal, WebSockets are enabled, and yet mobile clients won’t display the login screen—I’d appreciate any advice!
Have you attempted to use another reverse proxy like HAProxy instead of Nginx? I haven't used Nginx in ages but I think the config is much simpler and more foolproof in HAProxy (you basically point a backend config to Ignition and if it's the only server you direct all traffic to that backend, otherwise you write a rule defining the domain name you're using for that backend to direct only that traffic to the backend). I believe websockets just work out of the box, and you can even enable H3 (QUIC) connections if you want.
I haven't. I'm actually using Nginx inside of Home Assistant. The config in the addon is quite simple these days. There isn't a HAProxy addon in Home Assistant that I can find. If possible, I'd like to keep things inside this environment.
What's confusing is that this solution works using a desktop. I can connect from outside my network just fine. It's only giving me an issue if I'm using a mobile device (browser or Perspective app). Of course, this is really the method I plan to use most often.
Hmm. I'm wondering if there's some quirk with the add on since it's really just a docker container. I use home assistant also, but have a standalone server I use for my HAProxy. I don't know what firewall you're using but OPNsense has an HAProxy plugin that's fairly easy to use and that's how I got started in HAProxy before venturing out on my own with it.
I've been considering setting up PFSense at the house. It too has a HAProxy plugin. I'll have to do some physical wire routing before I do that though due to the location of my router/switches/server. Hopefully, that will take care of the issue.
Thanks!
You might want to reconsider pfSense. Last version of pfSense CE was December 2023 as it looks like they're trying to push everyone to the paid version of pfSense+ which is $130/year. OPNsense is still actively maintained and free.
I was not aware of that. I'll take that advice!!!