SSL and nonSSL at the same time.

Add the possibility of using SSL and non-SSL connections to HBMon.

Please adjust the network ports (according to your needs) both in monitor.py and hbmon.js
This commit is contained in:
Catalin Vatra 2021-05-21 13:54:44 +03:00
parent 9922d3dd74
commit 15a966ad5e
2 changed files with 14 additions and 8 deletions

View File

@ -11,9 +11,15 @@
masters_table = document.getElementById('masters'); masters_table = document.getElementById('masters');
opb_table = document.getElementById('opb'); opb_table = document.getElementById('opb');
peers_table = document.getElementById('peers'); peers_table = document.getElementById('peers');
wsuri = (((window.location.protocol === "https:") ? "wss://" : "ws://") + window.location.hostname + ":9000"); // Use both https and http protocols
if (window.location.protocol != "https:") {
wsuri = "ws://" + window.location.hostname + ":9000";
}
else {
wsuri = (((window.location.protocol === "https:") ? "wss://" : "ws://") + window.location.hostname + ":9001");
}
if ("WebSocket" in window) { if ("WebSocket" in window) {
sock = new WebSocket(wsuri); sock = new WebSocket(wsuri);
} else if ("MozWebSocket" in window) { } else if ("MozWebSocket" in window) {

View File

@ -40,7 +40,7 @@ from subprocess import check_call, CalledProcessError
# Twisted modules # Twisted modules
from twisted.internet.protocol import ReconnectingClientFactory, Protocol from twisted.internet.protocol import ReconnectingClientFactory, Protocol
from twisted.protocols.basic import NetstringReceiver from twisted.protocols.basic import NetstringReceiver
from twisted.internet import reactor, task from twisted.internet import reactor, task, ssl
import base64 import base64
@ -1012,10 +1012,10 @@ if __name__ == '__main__':
# and add load ssl module in line number 43: from twisted.internet import reactor, task, ssl # and add load ssl module in line number 43: from twisted.internet import reactor, task, ssl
# #
# put certificate https://letsencrypt.org/ used in apache server # put certificate https://letsencrypt.org/ used in apache server
#certificate = ssl.DefaultOpenSSLContextFactory('/etc/letsencrypt/live/hbmon.dmrserver.org/privkey.pem', '/etc/letsencrypt/live/hbmon.dmrserver.org/cert.pem') certificate = ssl.DefaultOpenSSLContextFactory('/etc/letsencrypt/live/hbmon.dmrserver.org/privkey.pem', '/etc/letsencrypt/live/hbmon.dmrserver.org/cert.pem')
#dashboard_server = dashboardFactory('wss://*:9000') dashboard_server = dashboardFactory('wss://*:9001')
#dashboard_server.protocol = dashboard dashboard_server.protocol = dashboard
#reactor.listenSSL(9000, dashboard_server,certificate) reactor.listenSSL(9001, dashboard_server,certificate)
# Create websocket server to push content to clients via http:// non SSL # Create websocket server to push content to clients via http:// non SSL
dashboard_server = dashboardFactory('ws://*:9000') dashboard_server = dashboardFactory('ws://*:9000')