I have recently spun up a VPS Running AlmaLinux 9.2 and installed Webmin, as well as Apache and dotnet runtime.
Everything seems to work except for Webmin, which is showing some strange behaviour I have never seen before.
The issue I am encountering is that Webmin just sits on loading, after I accept the SSL certificate warning, and never loads to the login screen.
This happens on any device, using any browser, on any network except for if I am using mobile data (Both using my phones browser, or tethering my PC to share the connection)
To rule out any form of Firewall issue I have stopped and disabled both firewalld (iptables) as well as fail2ban but still get the same issue. (No other firewalls are running)
I have completely re-installed the OS (As well as tried others, such as Debian11) and only installed webmin, but the issue remains.
To prove the port is open I have stopped webmin and apache, changed apache to use the webmin port (10000) and started just apache and confirmed I can access the default apache page.
I have also changed webmin to use 443 and still get the same issue, ruling out any port issues.
On the server I have ran ngrep -W byline -d any port 10000 -q
and can see the traffic hitting the server and responses being sent. I can also see traffic on the client side in Wireshark confirming there is no blocking either side.
I have disabled SSL to confirm this is not the cause and still get the issue.
Lastly I even tried to install an older version, but still get the same issue.
Here is the webmin config
port=10000
addtype_cgi=internal/cgi
realm=Webmin Server
logfile=/var/webmin/miniserv.log
errorlog=/var/webmin/miniserv.error
pidfile=/var/webmin/miniserv.pid
logtime=168
ssl=1
no_ssl2=1
no_ssl3=1
ssl_honorcipherorder=1
no_sslcompression=1
env_WEBMIN_CONFIG=/etc/webmin
env_WEBMIN_VAR=/var/webmin
atboot=1
logout=/etc/webmin/logout-flag
listen=10000
denyfile=\.pl$
log=1
blockhost_failures=5
blockhost_time=1
syslog=1
ipv6=1
session=1
premodules=WebminCore
userfile=/etc/webmin/miniserv.users
keyfile=/etc/letsencrypt/live/c3.cloudthewolf.com/privkey.pem
certfile=/etc/letsencrypt/live/c3.cloudthewolf.com/fullchain.pem
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
passwd_cindex=2
passwd_mindex=4
passwd_mode=0
preroot=authentic-theme
passdelay=1
cipher_list_def=1
logout_script=/etc/webmin/logout.pl
failed_script=/etc/webmin/failed.pl
login_script=/etc/webmin/login.pl
error_handler_404=404.cgi
error_handler_403=403.cgi
error_handler_401=401.cgi
nolog=\/stats\.cgi\?xhr\-stats\=general
alwaysresolve=1
libwrap=
trust_real_ip=1
sockets=*:8080
no_resolv_myname=0
Edit
After some more digging, I can see the connection in netstat: It looks to hang at FIN_WAIT1
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 929/perl off (0.00/0/0)
tcp 1 6539 66.59.210.237:10000 82.2.116.152:58890 CLOSING - on (5.60/5/0)
tcp 0 6486 66.59.210.237:10000 82.2.116.152:58889 FIN_WAIT1 - on (6.18/5/0)
tcp 0 0 66.59.210.237:10000 82.2.116.152:58892 ESTABLISHED 5286/perl off (0.00/0/0)
udp 0 0 0.0.0.0:10000 0.0.0.0:* 929/perl off (0.00/0/0)