Blog

Archive for WebSocket

Connecting to your Core-Admin web panel

Introduction: how to connect to Core-Admin server

Core-Admin provides a web panel interface to administrate and monitor services, applications and machines. To get a real-time interaction between users and these machines’ services, Core-Admin takes advantage of  BEEP (Block Extensible Exchange Protocol http://www.beepcore.org).

However,  BEEP is based on TCP/IP and this protocol is not available “as is” in the current web browsers and it is not likely to be in the near future. For that, Core-Admin uses two methods (and there may be more in the future) to enable TCP/IP availability (in fact, something similar), so your browser can talk “BEEP” with the central server it is trying to connect to.

These methods, both available through jsVortex, are the following:

  • WebSocket: if the browser has support for this new technology, it will be the default choice.
  • JavaSocketConector: otherwise, Core-Admin will use a java applet to enable TCP/IP access.

All modern browsers (those comming out since 2010), including Internet Explorer 8 and so forth, includes support for JavaSocketConnector. In fact, any browser that has support for Java will have support for JavaSocketConnector.

Steps to connect

By default, your Core-Admin web-client will try to connect through WebSocket (this is done automatically). In the case it is not posible (because WebSocket isn’t detected), JavaSocketConnector will be enabled. At any time, you enable/force to use a particular interface by clicking on the link at the bottom left part of the interface:

In the case your browser does not support WebSocket, Core-Admin will detect it and will enable JavaSocketConnector interface without making you to pay attention to this detail.

You’ll see this is happening when your core-admin is loaded from an URL direction ending by: /index-java.html

In both cases, using WebSocket or JavaSocketConnector, your core-admin client will attempt to connect through the 602/TCP port. Therefore, be sure there is no firewall blocking that internet connection.

Connecting to your core-admin server without a signed certificate while using WebSocket

If your Core-Admin server doesn’t have a TLS/SSL signed certificate (signed by a known party), then it is possible you’ll receive the following error when connecting using WebSocket (failed to connect to wss://):

Assuming your BEEP server is there (because that error may be confused by just having your server down), this is because the browser is detecting the certificate isn’t signed or it cannot be trusted. Users have complained about browsers not providing a dialog to accept even this connections, anyhow, current options to solve this problem are:

  • To get a TLS/SSL certificate signed by a known party. It is by far the easiest solution and it is also the recommended way in the case you expect to provide access to general users (for example, for webhosting services), but it involves a cost for signing the certificate. Core-Admin users have especial prices for certificate signing, see next: core-admin certificates.
  • To use JavaSocketConnector which doesn’t suffers from this problem.
  • Create a browser exception to allow this connection.

Creating a browser exception to enable WebSocket without certificate

Next, we will show you how to add an exception for various web browsers:

  • Google Chrome: create a direct access which runs the following command:
    >> google-chrome –ignore-certificate-errors –user-data-dir=/tmp/core-admin
  • Mozilla Firefox: get into certificate management section and add an exception. For that, select Edit -> Preferences -> Advanced -> Cyphering -> View certificates -> Add exception. Inside, add the core-admin’s server direction to which you are trying to connect to, for example: wss://core-admin.servidor.com:602
    It is really important to pass the right server name (the one provided in the installation) to make it match with the url access.

Core-admin browsers compatibility table

Next it is shown currently web browsers supported by Core-Admin, showing versions and connection method available for each of them:

Google Chrome Firefox Safari Internet Explorer Opera
WebSocket (RFC6455) support 16.0 or higher 11.0 or higher 6.0 or higher 10 or higher 12.0 or higher
Support for JavaSocketConector
(requires java applet)
13.0 or higher 2.0 or higher 5.0 or higher 8 or higher 8.0 or higher
Requires signed certificate when using WebSocket?
Can be added an exception while using WebSocket?

 

Posted in: Certificates, Core-Admin, JavaSocketConnector, WebSocket

Leave a Comment (0) →