Linux – Unable to connect to supervisord web interface

linuxsupervisord

I installed and configured supervisord on a linux server running Fedora26, and it's configured to run the supervisor web interface on port 9001. However, when typing the IP and port of the linux server into my browser on another computer connected to the same network, I get the browser error "This site can't be reached". I'm really confused as to why this is happening. I followed the supervisor documentation, and performed the steps necessary.

Here is my supervisord.conf file.

[unix_http_server]
file=/var/run/supervisor/supervisor.sock   ; (the path to the socket file)
chmod=0700                 ; sockef file mode (default 0700)

[inet_http_server]         ; inet (TCP) server disabled by default
port=*:9001        ; (ip_address:port specifier, *:port for all iface)

[supervisord]
logfile=/var/log/supervisor/supervisord.log  ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10          ; (num of main logfile rotation backups;default 10)
loglevel=info               ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket

; The [include] section can just contain the "files" setting.  This
; setting can list multiple files (separated by whitespace or
; newlines).  It can also contain wildcards.  The filenames are
; interpreted as relative to this file.  Included files *cannot*
; include files themselves.

[include]
files = supervisord.d/*.ini

Also, here is my output after running tail -f /var/log/supervisor/supervisord.log.

2017-09-26 12:50:32,569 INFO supervisord started with pid 2671
2017-09-26 13:30:01,848 WARN received SIGTERM indicating exit request
2017-09-26 13:30:02,083 CRIT Supervisor running as root (no user in config file)
2017-09-26 13:30:02,083 WARN No file matches via include "/etc/supervisord.d/*.ini"
2017-09-26 13:30:02,114 INFO RPC interface 'supervisor' initialized
2017-09-26 13:30:02,115 CRIT Server 'inet_http_server' running without any HTTP authentication checking
2017-09-26 13:30:02,115 INFO RPC interface 'supervisor' initialized
2017-09-26 13:30:02,115 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-09-26 13:30:02,116 INFO daemonizing the supervisord process
2017-09-26 13:30:02,116 INFO supervisord started with pid 3026

Attempting to connect to the web interface in my browser does not generate any new logs.

Here is the output of sudo netstat -anp | grep 9001.

tcp        0      0 0.0.0.0:9001            0.0.0.0:*               LISTEN      3026/python2

Is there a step that I missed? Any help is greatly appreciated.

Update Sept 28

I ran nmap to see if the port was up, and here is the output.

Starting Nmap 7.60 ( https://nmap.org ) at 2017-09-28 10:20 CDT
Nmap scan report for caseloader-server (x.x.x.x)
Host is up (0.00049s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE
22/tcp   open  ssh
9090/tcp open  zeus-admin
MAC Address: x:x:x:x:x:x (IBM)

So it appears that the port 9001 is not up. Also running the telnet command to connect to port 9001, here is the output.

Trying x.x.x.x...
telnet: connect to address x.x.x.x: Connection refused
telnet: Unable to connect to remote host

But running telnet to connect to the ports that are showing open connect just fine.

Port 9090:

Trying x.x.x.x...
Connected to caseloader-server.
Escape character is '^]'.

Port 22:

Trying x.x.x.x...
Connected to caseloader-server.
Escape character is '^]'.

So it appears the error is definitely on the server end.

Best Answer

Okay, I figured it out. I'm finally able to connect to the web interface in my browser. I added the port to my firewall using this command: sudo firewall-cmd --permanent --add-port=9001/tcp. After reloading the firewall configurations and restart the supervisor service, I am now able to view the web interface. Thank you so much for your help! I will definitely remember these troubleshooting steps if I come across this problem in the future.