1

UPDATE:

The node.js server is now running correctly at Openshift. The node.js server and the socket.io script can now be accessed publicly.

Running cron in Drupal, I see that it can also access the node.js server. However, my problem now is this, from the Chrome console:

GET https://nodejstapchat-breathalert.rhcloud.com:8080/socket.io/?EIO=3&transport=polling&t=LM-NWXx net::ERR_CONNECTION_TIMED_OUT socket.io.js:3511

I think it has to do with that redundant port in the url. Can anyone confirm?


ORIGINAL QUESTION:

Having problems while setting up the drupal nodejs module to use with Chatroom. This is working for me on localhost, so I suspect it has something to do with HTTPS.

The Drupal site is served only via HTTPS, and I just got the nodejs server, running on Modulus.io with HTTPS.

The drupal nodejs module (v7.x-1.13) and nodejs server (v1.0.9) are of compatible versions (based on the doc). Also confirmed the matching config on the Drupal site as well.

Checking the HTML source on one of the chat pages using nodejs, came across this:

<script src="https://tapcreativechat-64706.onmodulus.net:8088/socket.io/socket.io.js"></script>

But it appears it does not return the socket.io script (also tried port 8080).

Second related problem is the messages in Drupal dblog:

Error reaching the Node.js server at "nodejs/health/check": [-110] Connection timed out.

I am out of ideas why Drupal can't connect to the nodejs server.

My Node.js server config file:

//Node.js server 
settings = {
scheme: 'https',
port: process.env.PORT || 443,
host: 'localhost',
resource: '/socket.io',
serviceKey: 'key',
//Drupal site
backend: {
    port: 80,
    host: 'tapcreative.services',
    scheme: 'https',
    basePath: '/',
    messagePath: '/nodejs/message'
},
debug: true,
sslKeyPath: '_privatekey.key',
sslCertPath: 'tapcreative_services.crt',
sslCAPath: 'all_certs.crt',
baseAuthPath: '/nodejs/',
extensions: [],
clientsCanWriteToChannels: false,
clientsCanWriteToClients: false,
transports: ['websocket', 'polling'],
jsMinification: true,
jsEtag: true,
logLevel: 1
};

Advice is appreciated.

2

your first host: '', (line 4) is empty, should be host: 'tapcreative.services',

In addition, you're using the wrong port, port 80 is for HTTP. You need to use the HTTPS port, 443.

Change line 8 from port: 80, to port: 443,

| improve this answer | |
0

The first issue is that the script url (https://tapcreativechat-64706.onmodulus.net:8088) does not load in the browser. This url needs to be accessible to the public before you proceed further. Either this url is incorrect, or your application is not set up properly in Modulus.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.