arma-server-web-admin icon indicating copy to clipboard operation
arma-server-web-admin copied to clipboard

Authentication without SSL/HTTPS broken on chromium based browsers

Open formtapez opened this issue 3 years ago • 4 comments

Hello, since some time newer chromium browsers like Vivaldi or Brave are trying to access the webinterface over https, which then of course fails. Login is only possible when switching the browser in privacy-mode.

So, is it possible to enable SSL for the webinterface to enter the 20th century? :-)

formtapez avatar Jan 06 '23 22:01 formtapez

Use a reverse proxy such as nginx, traefik, caddy, IIS or whatever your preferred server is in front of the application to handle TLS termination and other web server features. Node.js is not the best edge server.

Dahlgren avatar Jan 06 '23 22:01 Dahlgren

Node.js is not the best edge server.

It seems to be not that complicated: https://github.com/Dahlgren/arma-server-web-admin/pull/237

formtapez avatar Jan 06 '23 22:01 formtapez

It's easy, but it's not what this application should be responsible to manage. There are a lot of additional consideration to be taken with serving HTTPS and it adds additional burden on the application.

To use HTTPS in a simple way the server should also support ACME compatible services such as Let's Encrypt out of the box to avoid having to manually provide certificates and keys. This is better solved by a proper web server with reverse proxy rather than bundling it with the Arma server manager.

Our server setup handles both TLS and SSO authentication in the loader balancer in front of this application. Otherwise one would be limited to serving one application on port 443 (HTTPS) where as with a reverse proxy we can run multiple applications such as Arma3Sync manager and other game managers. It also allows services to be running on separate machines behind the load balancer without directly exposing them to the Internet at all.

Dahlgren avatar Jan 06 '23 23:01 Dahlgren

Here's a quickstart guide for running Caddy with automatic certificate handling and HTTPS in front of another HTTP server, https://caddyserver.com/docs/quick-starts/reverse-proxy. This is probably the easiest setup with less steps than Nginx, Traefik or IIS.

Dahlgren avatar Jan 06 '23 23:01 Dahlgren