OpenVidu-Call not working properly

https://www.fourmodules.com:4443 > where openvidu starts
https://www.fourmodules.com:5000 > where node starts
First of all which link will be used for video conferencing as both links showing join option.

When i using Openvidu Link (:4443), it is showing below error:
There was an error getting the token:
<html> <head><title>504 Gateway Time-out</title></head> <body> <center><h1>504 Gateway Time-out</h1></center> <hr><center>nginx/1.18.0</center> </body> </html> 

[root@server openvidu]#docker-compose logs openvidu-server
openvidu-server_1  | [INFO] 2020-05-13 08:52:18,969 [entExec-e2-t105] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceGatheringDone] -> endpoint: con_RPH52Jj8Oh_str_CAM_Rh7N_con_HUruVNYYtP (subscriber) | timestamp: 1589359938967
openvidu-server_1  | [INFO] 2020-05-13 08:52:37,809 [entExec-e2-t105] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceComponentStateChange]: -> endpoint: con_HUruVNYYtP_str_CAM_RhGv_con_RPH52Jj8Oh (subscriber) | state: FAILED | componentId: 1 | streamId: 1 | timestamp: 1589359957808
openvidu-server_1  | [INFO] 2020-05-13 08:52:39,531 [entExec-e2-t105] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceComponentStateChange]: -> endpoint: str_CAM_Rh7N_con_HUruVNYYtP (publisher) | state: FAILED | componentId: 1 | streamId: 1 | timestamp: 1589359959530
openvidu-server_1  | [INFO] 2020-05-13 08:53:00,162 [entExec-e2-t105] io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig - KMS event [IceComponentStateChange]: -> endpoint: con_RPH52Jj8Oh_str_CAM_Rh7N_con_HUruVNYYtP (subscriber) | state: FAILED | componentId: 1 | streamId: 1 | timestamp: 1589359980161
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,671 [45r37h3jv-e8-t0] io.openvidu.server.rpc.RpcHandler - Participant con_RPH52Jj8Oh is calling method 'disconnect' in session ses_TJZgdLqu11
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,671 [45r37h3jv-e8-t0] io.openvidu.server.kurento.core.KurentoSessionManager - Request [LEAVE_ROOM] for participant con_RPH52Jj8Oh of session ses_TJZgdLqu11 with reason disconnect
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,671 [45r37h3jv-e8-t0] io.openvidu.server.kurento.core.KurentoSession - PARTICIPANT con_RPH52Jj8Oh: Leaving session ses_TJZgdLqu11
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,672 [45r37h3jv-e8-t0] io.openvidu.server.kurento.core.KurentoParticipant - PARTICIPANT con_HUruVNYYtP: cancel receiving media from con_RPH52Jj8Oh
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,673 [45r37h3jv-e8-t0] io.openvidu.server.kurento.core.KurentoParticipant - PARTICIPANT con_HUruVNYYtP: stopped receiving media from con_RPH52Jj8Oh in room ses_TJZgdLqu11
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,677 [45r37h3jv-e8-t0] io.openvidu.server.coturn.CoturnCredentialsService - Deleting COTURN user
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,723 [45r37h3jv-e8-t0] io.openvidu.server.coturn.CoturnCredentialsService - COTURN user deleted: true
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,725 [45r37h3jv-e8-t0] io.openvidu.server.rpc.RpcNotificationService - Closed session for participant with private id f7jcetq2728te0ndo45r37h3jv
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,725 [45r37h3jv-e8-t0] io.openvidu.server.rpc.RpcNotificationService - <PRIVATE_ID, RPC_CONNECTION>: {juimmfepi4du790hc2nmml2ld5=io.openvidu.server.rpc.RpcConnection@6a360371}
openvidu-server_1  | [INFO] 2020-05-13 08:53:54,725 [45r37h3jv-e8-t0] io.openvidu.server.rpc.RpcHandler - Participant con_RPH52Jj8Oh has left session ses_TJZgdLqu11
openvidu-server_1  | [INFO] 2020-05-13 08:54:04,725 [TaskScheduler-1] io.openvidu.server.rpc.RpcHandler - After connection closed for WebSocket session: f7jcetq2728te0ndo45r37h3jv - Status: null
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,439 [TaskScheduler-1] io.openvidu.server.rpc.RpcHandler - After connection closed for WebSocket session: juimmfepi4du790hc2nmml2ld5 - Status: null
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,439 [TaskScheduler-1] io.openvidu.server.rpc.RpcNotificationService - Closed session for participant with private id juimmfepi4du790hc2nmml2ld5
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,439 [TaskScheduler-1] io.openvidu.server.rpc.RpcNotificationService - <PRIVATE_ID, RPC_CONNECTION>: {}
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,439 [TaskScheduler-1] io.openvidu.server.rpc.RpcHandler - Evicting participant with private id juimmfepi4du790hc2nmml2ld5 because its websocket unexpectedly closed in the client side
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,439 [TaskScheduler-1] io.openvidu.server.kurento.core.KurentoSessionManager - Request [LEAVE_ROOM] for participant con_HUruVNYYtP of session ses_TJZgdLqu11 with reason networkDisconnect
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,440 [TaskScheduler-1] io.openvidu.server.kurento.core.KurentoSession - PARTICIPANT con_HUruVNYYtP: Leaving session ses_TJZgdLqu11
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,442 [TaskScheduler-1] io.openvidu.server.coturn.CoturnCredentialsService - Deleting COTURN user
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,633 [TaskScheduler-1] io.openvidu.server.coturn.CoturnCredentialsService - COTURN user deleted: true
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,634 [TaskScheduler-1] io.openvidu.server.kurento.core.KurentoSessionManager - No more participants in session 'ses_TJZgdLqu11', removing it and closing it
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,635 [TaskScheduler-1] io.openvidu.server.core.SessionManager - Session 'ses_TJZgdLqu11' removed and closed
openvidu-server_1  | [ERROR] 2020-05-13 08:54:11,635 [TaskScheduler-1] io.openvidu.server.rpc.RpcNotificationService - No rpc session found for private id juimmfepi4du790hc2nmml2ld5, unable to send notification participantEvicted: {"connectionId":"con_HUruVNYYtP","reason":"networkDisconnect"}
openvidu-server_1  | [ERROR] 2020-05-13 08:54:11,635 [TaskScheduler-1] io.openvidu.server.rpc.RpcNotificationService - No rpc session found for private id juimmfepi4du790hc2nmml2ld5, unable to send notification participantEvicted: {"connectionId":"con_HUruVNYYtP","reason":"networkDisconnect"}
openvidu-server_1  | [ERROR] 2020-05-13 08:54:11,635 [TaskScheduler-1] io.openvidu.server.rpc.RpcNotificationService - No session found for private id juimmfepi4du790hc2nmml2ld5, unable to cleanup
openvidu-server_1  | [INFO] 2020-05-13 08:54:11,635 [TaskScheduler-1] io.openvidu.server.rpc.RpcHandler - Evicted participant with privateId juimmfepi4du790hc2nmml2ld5
openvidu-server_1  | [INFO] 2020-05-13 09:02:56,936 [0.0-5443-exec-9] io.openvidu.server.rest.SessionRestController - REST API: POST /api/tokens {session=ses_TJZgdLqu11, role=PUBLISHER, data={"serverData":"publisher1"}, kurentoOptions={}}
openvidu-server_1  | [INFO] 2020-05-13 09:03:03,881 [.0-5443-exec-10] io.openvidu.server.rest.SessionRestController - REST API: POST /api/tokens {session=ses_TJZgdLqu11, role=PUBLISHER, data={"serverData":"publisher1"}, kurentoOptions={}}
openvidu-server_1  | [INFO] 2020-05-13 09:03:24,016 [0.0-5443-exec-1] io.openvidu.server.rest.SessionRestController - REST API: POST /api/tokens {session=ses_TJZgdLqu11, role=PUBLISHER, data={"serverData":"publisher1"}, kurentoOptions={}}
openvidu-server_1  | [INFO] 2020-05-13 09:04:11,854 [0.0-5443-exec-2] io.openvidu.server.rest.SessionRestController - REST API: POST /api/tokens {session=ses_TJZgdLqu11, role=PUBLISHER, data={"serverData":"publisher1"}, kurentoOptions={}}
openvidu-server_1  | [INFO] 2020-05-13 09:05:40,694 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
openvidu-server_1  | [INFO] 2020-05-13 09:20:40,695 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
openvidu-server_1  | [INFO] 2020-05-13 09:35:40,694 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
openvidu-server_1  | [INFO] 2020-05-13 09:50:40,695 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
openvidu-server_1  | [INFO] 2020-05-13 10:05:40,694 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
openvidu-server_1  | [INFO] 2020-05-13 10:20:40,694 [Timer-0] io.openvidu.server.core.SessionManager - Running non active sessions garbage collector...
[root@server openvidu]#


1 Like

same problem. getting 504 gateway timeout message

I can see in your OpenVidu Call served in https://www.fourmodules.com:4443 is doing a post request to https://www.fourmodules.com:4443/call. This request is returning a 504 because of it’s not founding OpenVidu Call backend.

Please, could you try this:

cd /opt/openvidu
./openvidu stop
./openvidu start

If it doesn’t work, send us the NGINX logs with
docker-compose logs -f nginx

Regards

https://www.fourmodules.com:4443

[root@server openvidu]#  docker-compose logs -f nginx
Attaching to openvidu_nginx_1
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          INPUT VARIABLES            =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Config NGINX:
nginx_1            |     - Http Port: 8880
nginx_1            |     - Https Port: 4443
nginx_1            |     - Allowed Access in Openvidu Dashboard: all
nginx_1            |     - Allowed Access in Openvidu API: all
nginx_1            |
nginx_1            |   Config Openvidu Application:
nginx_1            |     - Domain name: www.fourmodules.com
nginx_1            |     - Certificated: owncert
nginx_1            |     - Letsencrypt Email: rahul.nagpal@exoways.com
nginx_1            |     - Openvidu Application: true
nginx_1            |     - Openvidu Application Type: CE
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =       CONFIGURATION NGINX           =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Configure www.fourmodules.com domain...
nginx_1            |     - New configuration: owncert
nginx_1            |     - Old configuration: owncert
nginx_1            |     - Owmcert certificate already exists, using them...
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          ALLOWED ACCESS             =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Adding rules...
nginx_1            |
nginx_1            |   Finish Rules:
nginx_1            |     Openvidu Dashboard:
nginx_1            |            - allow all;
nginx_1            |     Openvidu API:
nginx_1            |            - allow all;
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =         START OPENVIDU PROXY        =
nginx_1            |   =======================================
nginx_1            |
nginx_1            | 2020/05/14 11:22:08 [warn] 62#62: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 11:22:08 [notice] 62#62: signal process started
nginx_1            | 2020/05/14 11:22:08 [warn] 8#8: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 11:34:35 [warn] 65#65: *29 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/00/0000000001 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 11:34:41 [warn] 65#65: *38 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/00/0000000002 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /assets/images/bg.jpg HTTP/1.1", upstream: "http://[::1]:5442/assets/images/bg.jpg", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 11:36:34 [warn] 65#65: *38 upstream server temporarily disabled while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://[::1]:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 11:36:34 [error] 65#65: *38 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://[::1]:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 11:37:35 [warn] 65#65: *38 upstream server temporarily disabled while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://127.0.0.1:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 11:37:35 [error] 65#65: *38 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://127.0.0.1:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"

When running https://www.fourmodules.com:5000 > node example it gives error: https://prnt.sc/sgmy91

Hello @rahulnagpal,

Try this:

1.- Connect to to your server and changed to root user sudo -s

2.- Go to the Openvidu folder cd /opt/openvidu

3.- Get the docker IP from your server, to do this run the command ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+'

4.- Modify the docker-compose.override.yml file. Change the line that says: OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP}:${HTTPS_PORT:-443} using the IP obtained in point 1 to: OPENVIDU_URL=https://IP_POINT_ONE:${HTTPS_PORT:-443}

Once this is done, restart Openvidu with the command ./openvidu restart

Regards

My dear friend, this is the ip i got by running your command: 172.17.0.1 and i have updated on docker-compose.override.yml and restart openvidu also, but still same issue:

[root@server openvidu]# docker-compose logs -f nginx
Attaching to openvidu_nginx_1
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          INPUT VARIABLES            =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Config NGINX:
nginx_1            |     - Http Port: 8880
nginx_1            |     - Https Port: 4443
nginx_1            |     - Allowed Access in Openvidu Dashboard: all
nginx_1            |     - Allowed Access in Openvidu API: all
nginx_1            |
nginx_1            |   Config Openvidu Application:
nginx_1            |     - Domain name: www.fourmodules.com
nginx_1            |     - Certificated: owncert
nginx_1            |     - Letsencrypt Email: rahul.nagpal@exoways.com
nginx_1            |     - Openvidu Application: true
nginx_1            |     - Openvidu Application Type: CE
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =       CONFIGURATION NGINX           =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Configure www.fourmodules.com domain...
nginx_1            |     - New configuration: owncert
nginx_1            |     - Old configuration: owncert
nginx_1            |     - Owmcert certificate already exists, using them...
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          ALLOWED ACCESS             =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Adding rules...
nginx_1            |
nginx_1            |   Finish Rules:
nginx_1            |     Openvidu Dashboard:
nginx_1            |            - allow all;
nginx_1            |     Openvidu API:
nginx_1            |            - allow all;
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =         START OPENVIDU PROXY        =
nginx_1            |   =======================================
nginx_1            |
nginx_1            | 2020/05/14 16:37:21 [warn] 63#63: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 16:37:21 [notice] 63#63: signal process started
nginx_1            | 2020/05/14 16:37:21 [warn] 9#9: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 16:37:50 [warn] 66#66: *1 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/00/0000000001 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 16:37:57 [warn] 66#66: *5 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/00/0000000002 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /assets/images/bg.jpg HTTP/1.1", upstream: "http://[::1]:5442/assets/images/bg.jpg", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 16:39:21 [warn] 66#66: *5 upstream server temporarily disabled while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://127.0.0.1:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 16:39:21 [error] 66#66: *5 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "POST /call HTTP/1.1", upstream: "http://127.0.0.1:5442/call", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"

Hello @rahulnagpal,

Can you please follow this steps:

  1. Restart OpenVidu:

$ ./openvidu restart

  1. Try to use the application and see the failure
  2. Share the logs with us

$ ./openvidu logs

Regards

Same gateway error:
By following your steps:

[root@server openvidu]# ./openvidu logs
Attaching to openvidu_openvidu-server_1
openvidu-server_1  |
openvidu-server_1  |
openvidu-server_1  |   =======================================
openvidu-server_1  |   =       LAUNCH OPENVIDU-SERVER        =
openvidu-server_1  |   =======================================
openvidu-server_1  |
openvidu-server_1  | ______________________________________________
openvidu-server_1  |    ____               __      ___     _
openvidu-server_1  |   / __ \              \ \    / (_)   | |
openvidu-server_1  |  | |  | |_ __   ___ _ _\ \  / / _  __| |_   _
openvidu-server_1  |  | |  | | '_ \ / _ \ '_ \ \/ / | |/ _` | | | |
openvidu-server_1  |  | |__| | |_) |  __/ | | \  /  | | (_| | |_| |
openvidu-server_1  |   \____/| .__/ \___|_| |_|\/   |_|\__,_|\__,_|
openvidu-server_1  |         | |
openvidu-server_1  |         |_|             version 2.14.0
openvidu-server_1  | ______________________________________________             
openvidu-server_1  |
openvidu-server_1  | [INFO] 2020-05-14 17:49:59,987 [main] io.openvidu.server.OpenViduServer - Starting OpenViduServer on server.fourmodules.com with PID 19 (/openvidu-server.jar started by root in /)
openvidu-server_1  | [INFO] 2020-05-14 17:49:59,991 [main] io.openvidu.server.OpenViduServer - No active profile set, falling back to default profiles: default
openvidu-server_1  | [ERROR] 2020-05-14 17:50:00,126 [main] io.openvidu.server.config.OpenviduConfig - .env file not found at /./.env
openvidu-server_1  | [INFO] 2020-05-14 17:50:00,219 [main] io.openvidu.server.OpenViduServer - Started OpenViduServer in 0.963 seconds (JVM running for 1.546)
openvidu-server_1  | [INFO] 2020-05-14 17:50:00,221 [main] io.openvidu.server.OpenViduServer -
openvidu-server_1  |
openvidu-server_1  |
openvidu-server_1  |    Configuration properties
openvidu-server_1  |    ------------------------
openvidu-server_1  |
openvidu-server_1  |    * CERTIFICATE_TYPE=owncert
openvidu-server_1  |    * DOMAIN_OR_PUBLIC_IP=www.fourmodules.com
openvidu-server_1  |    * HTTPS_PORT=4443
openvidu-server_1  |    * KMS_URIS=["ws://localhost:8888/kurento"]
openvidu-server_1  |    * OPENVIDU_CDR=false
openvidu-server_1  |    * OPENVIDU_CDR_PATH=/opt/openvidu/cdr
openvidu-server_1  |    * OPENVIDU_RECORDING=false
openvidu-server_1  |    * OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120
openvidu-server_1  |    * OPENVIDU_RECORDING_COMPOSED_URL=
openvidu-server_1  |    * OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
openvidu-server_1  |    * OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
openvidu-server_1  |    * OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
openvidu-server_1  |    * OPENVIDU_RECORDING_PUBLIC_ACCESS=false
openvidu-server_1  |    * OPENVIDU_RECORDING_VERSION=2.9.0
openvidu-server_1  |    * OPENVIDU_SECRET=OPENVIDU_SECRET
openvidu-server_1  |    * OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900
openvidu-server_1  |    * OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600
openvidu-server_1  |    * OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000
openvidu-server_1  |    * OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000
openvidu-server_1  |    * OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300
openvidu-server_1  |    * OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300
openvidu-server_1  |    * OPENVIDU_WEBHOOK=false
openvidu-server_1  |    * OPENVIDU_WEBHOOK_ENDPOINT=
openvidu-server_1  |    * OPENVIDU_WEBHOOK_EVENTS=[sessionCreated,sessionDestroyed,participantJoined,participantLeft,webrtcConnectionCreated,webrtcConnectionDestroyed,recordingStatusChanged,filterEventDispatched,mediaNodeStatusChanged]
openvidu-server_1  |    * OPENVIDU_WEBHOOK_HEADERS=[]
openvidu-server_1  |
openvidu-server_1  |
openvidu-server_1  |
openvidu-server_1  | [WARN] 2020-05-14 17:50:00,223 [main] io.openvidu.server.OpenViduServer - You have set property server.port (or SERVER_PORT). This will serve OpenVidu Server on your host at port 5443. But property HTTPS_PORT (4443) still configures the port that should be used to connect to OpenVidu Server from outside. Bear this in mind when configuring a proxy in front of OpenVidu Server
openvidu-server_1  | [INFO] 2020-05-14 17:50:00,223 [main] io.openvidu.server.OpenViduServer - Using /dev/urandom for secure random generation
openvidu-server_1  | [INFO] 2020-05-14 17:50:00,281 [main] io.openvidu.server.OpenViduServer - Starting OpenViduServer on server.fourmodules.com with PID 19 (/openvidu-server.jar started by root in /)
openvidu-server_1  | [INFO] 2020-05-14 17:50:00,281 [main] io.openvidu.server.OpenViduServer - No active profile set, falling back to default profiles: default
openvidu-server_1  | [ERROR] 2020-05-14 17:50:00,933 [main] io.openvidu.server.config.OpenviduConfig - .env file not found at /./.env
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,158 [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 5443 (http)
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,169 [main] org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-0.0.0.0-5443"]
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,170 [main] org.apache.catalina.core.StandardService - Starting service [Tomcat]
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,170 [main] org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.30]
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,253 [main] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,253 [main] org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 949 ms
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,680 [main] io.openvidu.server.OpenViduServer - OpenVidu CDR service is disabled (may be enable with 'OPENVIDU_CDR=true')
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,680 [main] io.openvidu.server.OpenViduServer - OpenVidu Webhook service is disabled (may be enabled with 'OPENVIDU_WEBHOOK=true')
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,692 [main] io.openvidu.server.OpenViduServer - OpenVidu Server using one KMS: ws://localhost:8888/kurento
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,719 [rbeatExec-e1-t0] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Connecting native client
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,719 [rbeatExec-e1-t0] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Creating new NioEventLoopGroup
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,887 [ntLoopGroup-2-1] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Initiating new Netty channel. Will create new handler too!
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,977 [EventExec-e2-t0] io.openvidu.server.kurento.kms.KmsManager - Kurento Client "connected" event for KMS ws://localhost:8888/kurento [org.kurento.client.KurentoClient@46adb3b]
openvidu-server_1  | [INFO] 2020-05-14 17:50:01,979 [main] io.openvidu.server.recording.service.RecordingManager - OpenVidu recording service is disabled
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,001 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN IP: 69.10.52.178
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,001 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN Redis DB accessible with string "ip=127.0.0.1 dbname=0 password=turn connect_timeout=30"
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,001 [main] io.openvidu.server.coturn.CoturnCredentialsService - Cleaning COTURN DB...
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,001 [main] io.openvidu.server.coturn.CoturnCredentialsService - Path of COTURN log files: /var/log/
openvidu-server_1  | [ERROR] 2020-05-14 17:50:02,005 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN DB is not empty
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,005 [main] io.openvidu.server.coturn.CoturnCredentialsService - Using COTURN credentials service for BASH environment
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,011 [main] io.openvidu.server.core.SessionManager - Garbage collector for non active sessions initialized. Running every 900 seconds and cleaning up non active Sessions more than 3600 seconds old
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,034 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'jsonrpcTaskScheduler'
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,155 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,245 [main] org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,480 [main] org.springframework.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3a6bb9bf, org.springframework.security.web.context.SecurityContextPersistenceFilter@52102734, org.springframework.security.web.header.HeaderWriterFilter@2beee7ff, org.springframework.web.filter.CorsFilter@3bb9a3ff, org.springframework.security.web.authentication.logout.LogoutFilter@5fa07e12, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@68c72235, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2177849e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2892dae4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@34f7cfd9, org.springframework.security.web.session.SessionManagementFilter@5939a379, org.springframework.security.web.access.ExceptionTranslationFilter@1bb266b3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7671cb68]
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,521 [main] org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-0.0.0.0-5443"]
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,536 [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 5443 (http) with context path ''
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,537 [main] io.openvidu.server.OpenViduServer - Started OpenViduServer in 2.302 seconds (JVM running for 3.864)
openvidu-server_1  | [INFO] 2020-05-14 17:50:02,538 [main] io.openvidu.server.OpenViduServer -
openvidu-server_1  |
openvidu-server_1  | ----------------------------------------------------
openvidu-server_1  |
openvidu-server_1  |    OpenVidu is ready!
openvidu-server_1  |    ---------------------------
openvidu-server_1  |
openvidu-server_1  |    * OpenVidu Server: https://www.fourmodules.com:4443/
openvidu-server_1  |
openvidu-server_1  |    * OpenVidu Dashboard: https://www.fourmodules.com:4443/dashboard/
openvidu-server_1  |
openvidu-server_1  | ----------------------------------------------------
openvidu-server_1  |

Please also show us the openvidu-call logs with the command:

$ docker-compose logs app

We don’t know what is happening. The application seems unable to connect to openvidu-server, but both services are in the same machine.

If you want, you can provide a ssh access to your machine to figure out what is happening.

Please check the logs below and if you need ssh access please provide me your email id so that I can share with you privately:

[root@server openvidu]# docker-compose logs app
Attaching to openvidu_app_1
app_1              | [nodemon] 2.0.3
app_1              | [nodemon] to restart at any time, enter `rs`
app_1              | [nodemon] watching path(s): *.*
app_1              | [nodemon] watching extensions: js,mjs,json
app_1              | [nodemon] starting `node openvidu-call-server.js`
app_1              | ---------------------------------------------------------
app_1              |
app_1              | OPENVIDU URL: https://172.17.0.1:4443
app_1              | OPENVIDU SECRET: OPENVIDU_SECRET
app_1              | CALL OPENVIDU CERTTYPE: owncert
app_1              | OpenVidu Call Server is listening on port 5000
app_1              |
app_1              | ---------------------------------------------------------
app_1              | Session ID received { sessionId: 'rival-blue-antlion' }
app_1              | Requesting session to  https://172.17.0.1:4443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  https://172.17.0.1:4443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Error: unable to verify the first certificate
app_1              |     at TLSSocket.onConnectSecure (_tls_wrap.js:1474:34)
app_1              |     at TLSSocket.emit (events.js:310:20)
app_1              |     at TLSSocket._finishInit (_tls_wrap.js:917:8)
app_1              |     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:687:12) {
app_1              |   code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
app_1              |   config: {
app_1              |     url: 'https://172.17.0.1:4443/api/tokens',
app_1              |     method: 'post',
app_1              |     data: '{"session":"rival-blue-antlion"}',
app_1              |     headers: {
app_1              |       Accept: 'application/json, text/plain, */*',
app_1              |       'Content-Type': 'application/json',
app_1              |       Authorization: 'Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU',
app_1              |       'User-Agent': 'axios/0.19.2',
app_1              |       'Content-Length': 32
app_1              |     },
app_1              |     transformRequest: [ [Function] ],
app_1              |     transformResponse: [ [Function] ],
app_1              |     timeout: 0,
app_1              |     adapter: [Function],
app_1              |     xsrfCookieName: 'XSRF-TOKEN',
app_1              |     xsrfHeaderName: 'X-XSRF-TOKEN',
app_1              |     maxContentLength: -1,
app_1              |     validateStatus: [Function: validateStatus]
app_1              |   },
app_1              |   request: Writable {
app_1              |     _writableState: WritableState {
app_1              |       objectMode: false,
app_1              |       highWaterMark: 16384,
app_1              |       finalCalled: false,
app_1              |       needDrain: false,
app_1              |       ending: false,
app_1              |       ended: false,
app_1              |       finished: false,
app_1              |       destroyed: false,
app_1              |       decodeStrings: true,
app_1              |       defaultEncoding: 'utf8',
app_1              |       length: 0,
app_1              |       writing: false,
app_1              |       corked: 0,
app_1              |       sync: true,
app_1              |       bufferProcessing: false,
app_1              |       onwrite: [Function: bound onwrite],
app_1              |       writecb: null,
app_1              |       writelen: 0,
app_1              |       afterWriteTickInfo: null,
app_1              |       bufferedRequest: null,
app_1              |       lastBufferedRequest: null,
app_1              |       pendingcb: 0,
app_1              |       prefinished: false,
app_1              |       errorEmitted: false,
app_1              |       emitClose: true,
app_1              |       autoDestroy: false,
app_1              |       bufferedRequestCount: 0,
app_1              |       corkedRequestsFree: [Object]
app_1              |     },
app_1              |     writable: true,
app_1              |     _events: [Object: null prototype] {
app_1              |       response: [Function],
app_1              |       error: [Function]
app_1              |     },
app_1              |     _eventsCount: 2,
app_1              |     _maxListeners: undefined,
app_1              |     _options: {
app_1              |       protocol: 'https:',
app_1              |       maxRedirects: 21,
app_1              |       maxBodyLength: 10485760,
app_1              |       path: '/api/tokens',
app_1              |       method: 'POST',
app_1              |       headers: [Object],
app_1              |       agent: undefined,
app_1              |       agents: [Object],
app_1              |       auth: undefined,
app_1              |       hostname: '172.17.0.1',
app_1              |       port: '4443',
app_1              |       nativeProtocols: [Object],
app_1              |       pathname: '/api/tokens'
app_1              |     },
app_1              |     _redirectCount: 0,
app_1              |     _redirects: [],
app_1              |     _requestBodyLength: 32,
app_1              |     _requestBodyBuffers: [ [Object] ],
app_1              |     _onNativeResponse: [Function],
app_1              |     _currentRequest: ClientRequest {
app_1              |       _events: [Object: null prototype],
app_1              |       _eventsCount: 6,
app_1              |       _maxListeners: undefined,
app_1              |       outputData: [],
app_1              |       outputSize: 0,
app_1              |       writable: true,
app_1              |       _last: true,
app_1              |       chunkedEncoding: false,
app_1              |       shouldKeepAlive: false,
app_1              |       useChunkedEncodingByDefault: true,
app_1              |       sendDate: false,
app_1              |       _removedConnection: false,
app_1              |       _removedContLen: false,
app_1              |       _removedTE: false,
app_1              |       _contentLength: null,
app_1              |       _hasBody: true,
app_1              |       _trailer: '',
app_1              |       finished: false,
app_1              |       _headerSent: true,
app_1              |       socket: [TLSSocket],
app_1              |       connection: [TLSSocket],
app_1              |       _header: 'POST /api/tokens HTTP/1.1\r\n' +
app_1              |         'Accept: application/json, text/plain, */*\r\n' +
app_1              |         'Content-Type: application/json\r\n' +
app_1              |         'Authorization: Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU\r\n' +
app_1              |         'User-Agent: axios/0.19.2\r\n' +
app_1              |         'Content-Length: 32\r\n' +
app_1              |         'Host: 172.17.0.1:4443\r\n' +
app_1              |         'Connection: close\r\n' +
app_1              |         '\r\n',
app_1              |       _onPendingData: [Function: noopPendingOutput],
app_1              |       agent: [Agent],
app_1              |       socketPath: undefined,
app_1              |       method: 'POST',
app_1              |       insecureHTTPParser: undefined,
app_1              |       path: '/api/tokens',
app_1              |       _ended: false,
app_1              |       res: null,
app_1              |       aborted: false,
app_1              |       timeoutCb: null,
app_1              |       upgradeOrConnect: false,
app_1              |       parser: null,
app_1              |       maxHeadersCount: null,
app_1              |       reusedSocket: false,
app_1              |       _redirectable: [Circular],
app_1              |       [Symbol(kCapture)]: false,
app_1              |       [Symbol(kNeedDrain)]: false,
app_1              |       [Symbol(corked)]: 0,
app_1              |       [Symbol(kOutHeaders)]: [Object: null prototype]
app_1              |     },
app_1              |     _currentUrl: 'https://172.17.0.1:4443/api/tokens',
app_1              |     [Symbol(kCapture)]: false
app_1              |   },
app_1              |   response: undefined,
app_1              |   isAxiosError: true,
app_1              |   toJSON: [Function]
app_1              | }
app_1              | (node:21) UnhandledPromiseRejectionWarning: RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: undefined
app_1              |     at ServerResponse.writeHead (_http_server.js:248:11)
app_1              |     at ServerResponse._implicitHeader (_http_server.js:239:8)
app_1              |     at write_ (_http_outgoing.js:650:9)
app_1              |     at ServerResponse.end (_http_outgoing.js:761:5)
app_1              |     at ServerResponse.C.send (/opt/openvidu-call/openvidu-call-server.js:302:2782)
app_1              |     at p (/opt/openvidu-call/openvidu-call-server.js:320:3586)
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:4257
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:2946
app_1              |     at Object.throw (/opt/openvidu-call/openvidu-call-server.js:320:3051)
app_1              |     at r (/opt/openvidu-call/openvidu-call-server.js:320:1816)
app_1              | (node:21) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
app_1              | (node:21) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
app_1              | Session ID received { sessionId: 'rival-blue-antlion' }
app_1              | Requesting session to  https://172.17.0.1:4443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  https://172.17.0.1:4443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Error: unable to verify the first certificate
app_1              |     at TLSSocket.onConnectSecure (_tls_wrap.js:1474:34)
app_1              |     at TLSSocket.emit (events.js:310:20)
app_1              |     at TLSSocket._finishInit (_tls_wrap.js:917:8)
app_1              |     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:687:12) {
app_1              |   code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
app_1              |   config: {
app_1              |     url: 'https://172.17.0.1:4443/api/tokens',
app_1              |     method: 'post',
app_1              |     data: '{"session":"rival-blue-antlion"}',
app_1              |     headers: {
app_1              |       Accept: 'application/json, text/plain, */*',
app_1              |       'Content-Type': 'application/json',
app_1              |       Authorization: 'Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU',
app_1              |       'User-Agent': 'axios/0.19.2',
app_1              |       'Content-Length': 32
app_1              |     },
app_1              |     transformRequest: [ [Function] ],
app_1              |     transformResponse: [ [Function] ],
app_1              |     timeout: 0,
app_1              |     adapter: [Function],
app_1              |     xsrfCookieName: 'XSRF-TOKEN',
app_1              |     xsrfHeaderName: 'X-XSRF-TOKEN',
app_1              |     maxContentLength: -1,
app_1              |     validateStatus: [Function: validateStatus]
app_1              |   },
app_1              |   request: Writable {
app_1              |     _writableState: WritableState {
app_1              |       objectMode: false,
app_1              |       highWaterMark: 16384,
app_1              |       finalCalled: false,
app_1              |       needDrain: false,
app_1              |       ending: false,
app_1              |       ended: false,
app_1              |       finished: false,
app_1              |       destroyed: false,
app_1              |       decodeStrings: true,
app_1              |       defaultEncoding: 'utf8',
app_1              |       length: 0,
app_1              |       writing: false,
app_1              |       corked: 0,
app_1              |       sync: true,
app_1              |       bufferProcessing: false,
app_1              |       onwrite: [Function: bound onwrite],
app_1              |       writecb: null,
app_1              |       writelen: 0,
app_1              |       afterWriteTickInfo: null,
app_1              |       bufferedRequest: null,
app_1              |       lastBufferedRequest: null,
app_1              |       pendingcb: 0,
app_1              |       prefinished: false,
app_1              |       errorEmitted: false,
app_1              |       emitClose: true,
app_1              |       autoDestroy: false,
app_1              |       bufferedRequestCount: 0,
app_1              |       corkedRequestsFree: [Object]
app_1              |     },
app_1              |     writable: true,
app_1              |     _events: [Object: null prototype] {
app_1              |       response: [Function],
app_1              |       error: [Function]
app_1              |     },
app_1              |     _eventsCount: 2,
app_1              |     _maxListeners: undefined,
app_1              |     _options: {
app_1              |       protocol: 'https:',
app_1              |       maxRedirects: 21,
app_1              |       maxBodyLength: 10485760,
app_1              |       path: '/api/tokens',
app_1              |       method: 'POST',
app_1              |       headers: [Object],
app_1              |       agent: undefined,
app_1              |       agents: [Object],
app_1              |       auth: undefined,
app_1              |       hostname: '172.17.0.1',
app_1              |       port: '4443',
app_1              |       nativeProtocols: [Object],
app_1              |       pathname: '/api/tokens'
app_1              |     },
app_1              |     _redirectCount: 0,
app_1              |     _redirects: [],
app_1              |     _requestBodyLength: 32,
app_1              |     _requestBodyBuffers: [ [Object] ],
app_1              |     _onNativeResponse: [Function],
app_1              |     _currentRequest: ClientRequest {
app_1              |       _events: [Object: null prototype],
app_1              |       _eventsCount: 6,
app_1              |       _maxListeners: undefined,
app_1              |       outputData: [],
app_1              |       outputSize: 0,
app_1              |       writable: true,
app_1              |       _last: true,
app_1              |       chunkedEncoding: false,
app_1              |       shouldKeepAlive: false,
app_1              |       useChunkedEncodingByDefault: true,
app_1              |       sendDate: false,
app_1              |       _removedConnection: false,
app_1              |       _removedContLen: false,
app_1              |       _removedTE: false,
app_1              |       _contentLength: null,
app_1              |       _hasBody: true,
app_1              |       _trailer: '',
app_1              |       finished: false,
app_1              |       _headerSent: true,
app_1              |       socket: [TLSSocket],
app_1              |       connection: [TLSSocket],
app_1              |       _header: 'POST /api/tokens HTTP/1.1\r\n' +
app_1              |         'Accept: application/json, text/plain, */*\r\n' +
app_1              |         'Content-Type: application/json\r\n' +
app_1              |         'Authorization: Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU\r\n' +
app_1              |         'User-Agent: axios/0.19.2\r\n' +
app_1              |         'Content-Length: 32\r\n' +
app_1              |         'Host: 172.17.0.1:4443\r\n' +
app_1              |         'Connection: close\r\n' +
app_1              |         '\r\n',
app_1              |       _onPendingData: [Function: noopPendingOutput],
app_1              |       agent: [Agent],
app_1              |       socketPath: undefined,
app_1              |       method: 'POST',
app_1              |       insecureHTTPParser: undefined,
app_1              |       path: '/api/tokens',
app_1              |       _ended: false,
app_1              |       res: null,
app_1              |       aborted: false,
app_1              |       timeoutCb: null,
app_1              |       upgradeOrConnect: false,
app_1              |       parser: null,
app_1              |       maxHeadersCount: null,
app_1              |       reusedSocket: false,
app_1              |       _redirectable: [Circular],
app_1              |       [Symbol(kCapture)]: false,
app_1              |       [Symbol(kNeedDrain)]: false,
app_1              |       [Symbol(corked)]: 0,
app_1              |       [Symbol(kOutHeaders)]: [Object: null prototype]
app_1              |     },
app_1              |     _currentUrl: 'https://172.17.0.1:4443/api/tokens',
app_1              |     [Symbol(kCapture)]: false
app_1              |   },
app_1              |   response: undefined,
app_1              |   isAxiosError: true,
app_1              |   toJSON: [Function]
app_1              | }
app_1              | (node:21) UnhandledPromiseRejectionWarning: RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: undefined
app_1              |     at ServerResponse.writeHead (_http_server.js:248:11)
app_1              |     at ServerResponse._implicitHeader (_http_server.js:239:8)
app_1              |     at write_ (_http_outgoing.js:650:9)
app_1              |     at ServerResponse.end (_http_outgoing.js:761:5)
app_1              |     at ServerResponse.C.send (/opt/openvidu-call/openvidu-call-server.js:302:2782)
app_1              |     at p (/opt/openvidu-call/openvidu-call-server.js:320:3586)
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:4257
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:2946
app_1              |     at Object.throw (/opt/openvidu-call/openvidu-call-server.js:320:3051)
app_1              |     at r (/opt/openvidu-call/openvidu-call-server.js:320:1816)
app_1              | (node:21) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
[root@server openvidu]#

I think I found the error.

In the file docker-compose.override.yml set the following value:

OPENVIDU_URL=https://172.17.0.1:5443

And then restart openvidu.

Still same issue after applying changes:

[root@server openvidu]# docker-compose logs app
Attaching to openvidu_app_1
app_1              | [nodemon] 2.0.3
app_1              | [nodemon] to restart at any time, enter `rs`
app_1              | [nodemon] watching path(s): *.*
app_1              | [nodemon] watching extensions: js,mjs,json
app_1              | [nodemon] starting `node openvidu-call-server.js`
app_1              | ---------------------------------------------------------
app_1              |
app_1              | OPENVIDU URL: https://172.17.0.1:5443
app_1              | OPENVIDU SECRET: OPENVIDU_SECRET
app_1              | CALL OPENVIDU CERTTYPE: owncert
app_1              | OpenVidu Call Server is listening on port 5000
app_1              |
app_1              | ---------------------------------------------------------
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  https://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  https://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Error: write EPROTO 140682993995080:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
app_1              |
app_1              |     at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16) {
app_1              |   errno: 'EPROTO',
app_1              |   code: 'EPROTO',
app_1              |   syscall: 'write',
app_1              |   config: {
app_1              |     url: 'https://172.17.0.1:5443/api/tokens',
app_1              |     method: 'post',
app_1              |     data: '{"session":"demo"}',
app_1              |     headers: {
app_1              |       Accept: 'application/json, text/plain, */*',
app_1              |       'Content-Type': 'application/json',
app_1              |       Authorization: 'Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU',
app_1              |       'User-Agent': 'axios/0.19.2',
app_1              |       'Content-Length': 18
app_1              |     },
app_1              |     transformRequest: [ [Function] ],
app_1              |     transformResponse: [ [Function] ],
app_1              |     timeout: 0,
app_1              |     adapter: [Function],
app_1              |     xsrfCookieName: 'XSRF-TOKEN',
app_1              |     xsrfHeaderName: 'X-XSRF-TOKEN',
app_1              |     maxContentLength: -1,
app_1              |     validateStatus: [Function: validateStatus]
app_1              |   },
app_1              |   request: Writable {
app_1              |     _writableState: WritableState {
app_1              |       objectMode: false,
app_1              |       highWaterMark: 16384,
app_1              |       finalCalled: false,
app_1              |       needDrain: false,
app_1              |       ending: false,
app_1              |       ended: false,
app_1              |       finished: false,
app_1              |       destroyed: false,
app_1              |       decodeStrings: true,
app_1              |       defaultEncoding: 'utf8',
app_1              |       length: 0,
app_1              |       writing: false,
app_1              |       corked: 0,
app_1              |       sync: true,
app_1              |       bufferProcessing: false,
app_1              |       onwrite: [Function: bound onwrite],
app_1              |       writecb: null,
app_1              |       writelen: 0,
app_1              |       afterWriteTickInfo: null,
app_1              |       bufferedRequest: null,
app_1              |       lastBufferedRequest: null,
app_1              |       pendingcb: 0,
app_1              |       prefinished: false,
app_1              |       errorEmitted: false,
app_1              |       emitClose: true,
app_1              |       autoDestroy: false,
app_1              |       bufferedRequestCount: 0,
app_1              |       corkedRequestsFree: [Object]
app_1              |     },
app_1              |     writable: true,
app_1              |     _events: [Object: null prototype] {
app_1              |       response: [Function],
app_1              |       error: [Function]
app_1              |     },
app_1              |     _eventsCount: 2,
app_1              |     _maxListeners: undefined,
app_1              |     _options: {
app_1              |       protocol: 'https:',
app_1              |       maxRedirects: 21,
app_1              |       maxBodyLength: 10485760,
app_1              |       path: '/api/tokens',
app_1              |       method: 'POST',
app_1              |       headers: [Object],
app_1              |       agent: undefined,
app_1              |       agents: [Object],
app_1              |       auth: undefined,
app_1              |       hostname: '172.17.0.1',
app_1              |       port: '5443',
app_1              |       nativeProtocols: [Object],
app_1              |       pathname: '/api/tokens'
app_1              |     },
app_1              |     _redirectCount: 0,
app_1              |     _redirects: [],
app_1              |     _requestBodyLength: 18,
app_1              |     _requestBodyBuffers: [ [Object] ],
app_1              |     _onNativeResponse: [Function],
app_1              |     _currentRequest: ClientRequest {
app_1              |       _events: [Object: null prototype],
app_1              |       _eventsCount: 6,
app_1              |       _maxListeners: undefined,
app_1              |       outputData: [],
app_1              |       outputSize: 0,
app_1              |       writable: true,
app_1              |       _last: true,
app_1              |       chunkedEncoding: false,
app_1              |       shouldKeepAlive: false,
app_1              |       useChunkedEncodingByDefault: true,
app_1              |       sendDate: false,
app_1              |       _removedConnection: false,
app_1              |       _removedContLen: false,
app_1              |       _removedTE: false,
app_1              |       _contentLength: null,
app_1              |       _hasBody: true,
app_1              |       _trailer: '',
app_1              |       finished: true,
app_1              |       _headerSent: true,
app_1              |       socket: [TLSSocket],
app_1              |       connection: [TLSSocket],
app_1              |       _header: 'POST /api/tokens HTTP/1.1\r\n' +
app_1              |         'Accept: application/json, text/plain, */*\r\n' +
app_1              |         'Content-Type: application/json\r\n' +
app_1              |         'Authorization: Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU\r\n' +
app_1              |         'User-Agent: axios/0.19.2\r\n' +
app_1              |         'Content-Length: 18\r\n' +
app_1              |         'Host: 172.17.0.1:5443\r\n' +
app_1              |         'Connection: close\r\n' +
app_1              |         '\r\n',
app_1              |       _onPendingData: [Function: noopPendingOutput],
app_1              |       agent: [Agent],
app_1              |       socketPath: undefined,
app_1              |       method: 'POST',
app_1              |       insecureHTTPParser: undefined,
app_1              |       path: '/api/tokens',
app_1              |       _ended: false,
app_1              |       res: null,
app_1              |       aborted: false,
app_1              |       timeoutCb: null,
app_1              |       upgradeOrConnect: false,
app_1              |       parser: null,
app_1              |       maxHeadersCount: null,
app_1              |       reusedSocket: false,
app_1              |       _redirectable: [Circular],
app_1              |       [Symbol(kCapture)]: false,
app_1              |       [Symbol(kNeedDrain)]: false,
app_1              |       [Symbol(corked)]: 0,
app_1              |       [Symbol(kOutHeaders)]: [Object: null prototype]
app_1              |     },
app_1              |     _currentUrl: 'https://172.17.0.1:5443/api/tokens',
app_1              |     [Symbol(kCapture)]: false
app_1              |   },
app_1              |   response: undefined,
app_1              |   isAxiosError: true,
app_1              |   toJSON: [Function]
app_1              | }
app_1              | (node:21) UnhandledPromiseRejectionWarning: RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: undefined
app_1              |     at ServerResponse.writeHead (_http_server.js:248:11)
app_1              |     at ServerResponse._implicitHeader (_http_server.js:239:8)
app_1              |     at write_ (_http_outgoing.js:650:9)
app_1              |     at ServerResponse.end (_http_outgoing.js:761:5)
app_1              |     at ServerResponse.C.send (/opt/openvidu-call/openvidu-call-server.js:302:2782)
app_1              |     at p (/opt/openvidu-call/openvidu-call-server.js:320:3586)
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:4257
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:2946
app_1              |     at Object.throw (/opt/openvidu-call/openvidu-call-server.js:320:3051)
app_1              |     at r (/opt/openvidu-call/openvidu-call-server.js:320:1816)
app_1              | (node:21) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
app_1              | (node:21) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  https://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  https://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Error: write EPROTO 140682993995080:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
app_1              |
app_1              |     at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16) {
app_1              |   errno: 'EPROTO',
app_1              |   code: 'EPROTO',
app_1              |   syscall: 'write',
app_1              |   config: {
app_1              |     url: 'https://172.17.0.1:5443/api/tokens',
app_1              |     method: 'post',
app_1              |     data: '{"session":"demo"}',
app_1              |     headers: {
app_1              |       Accept: 'application/json, text/plain, */*',
app_1              |       'Content-Type': 'application/json',
app_1              |       Authorization: 'Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU',
app_1              |       'User-Agent': 'axios/0.19.2',
app_1              |       'Content-Length': 18
app_1              |     },
app_1              |     transformRequest: [ [Function] ],
app_1              |     transformResponse: [ [Function] ],
app_1              |     timeout: 0,
app_1              |     adapter: [Function],
app_1              |     xsrfCookieName: 'XSRF-TOKEN',
app_1              |     xsrfHeaderName: 'X-XSRF-TOKEN',
app_1              |     maxContentLength: -1,
app_1              |     validateStatus: [Function: validateStatus]
app_1              |   },
app_1              |   request: Writable {
app_1              |     _writableState: WritableState {
app_1              |       objectMode: false,
app_1              |       highWaterMark: 16384,
app_1              |       finalCalled: false,
app_1              |       needDrain: false,
app_1              |       ending: false,
app_1              |       ended: false,
app_1              |       finished: false,
app_1              |       destroyed: false,
app_1              |       decodeStrings: true,
app_1              |       defaultEncoding: 'utf8',
app_1              |       length: 0,
app_1              |       writing: false,
app_1              |       corked: 0,
app_1              |       sync: true,
app_1              |       bufferProcessing: false,
app_1              |       onwrite: [Function: bound onwrite],
app_1              |       writecb: null,
app_1              |       writelen: 0,
app_1              |       afterWriteTickInfo: null,
app_1              |       bufferedRequest: null,
app_1              |       lastBufferedRequest: null,
app_1              |       pendingcb: 0,
app_1              |       prefinished: false,
app_1              |       errorEmitted: false,
app_1              |       emitClose: true,
app_1              |       autoDestroy: false,
app_1              |       bufferedRequestCount: 0,
app_1              |       corkedRequestsFree: [Object]
app_1              |     },
app_1              |     writable: true,
app_1              |     _events: [Object: null prototype] {
app_1              |       response: [Function],
app_1              |       error: [Function]
app_1              |     },
app_1              |     _eventsCount: 2,
app_1              |     _maxListeners: undefined,
app_1              |     _options: {
app_1              |       protocol: 'https:',
app_1              |       maxRedirects: 21,
app_1              |       maxBodyLength: 10485760,
app_1              |       path: '/api/tokens',
app_1              |       method: 'POST',
app_1              |       headers: [Object],
app_1              |       agent: undefined,
app_1              |       agents: [Object],
app_1              |       auth: undefined,
app_1              |       hostname: '172.17.0.1',
app_1              |       port: '5443',
app_1              |       nativeProtocols: [Object],
app_1              |       pathname: '/api/tokens'
app_1              |     },
app_1              |     _redirectCount: 0,
app_1              |     _redirects: [],
app_1              |     _requestBodyLength: 18,
app_1              |     _requestBodyBuffers: [ [Object] ],
app_1              |     _onNativeResponse: [Function],
app_1              |     _currentRequest: ClientRequest {
app_1              |       _events: [Object: null prototype],
app_1              |       _eventsCount: 6,
app_1              |       _maxListeners: undefined,
app_1              |       outputData: [],
app_1              |       outputSize: 0,
app_1              |       writable: true,
app_1              |       _last: true,
app_1              |       chunkedEncoding: false,
app_1              |       shouldKeepAlive: false,
app_1              |       useChunkedEncodingByDefault: true,
app_1              |       sendDate: false,
app_1              |       _removedConnection: false,
app_1              |       _removedContLen: false,
app_1              |       _removedTE: false,
app_1              |       _contentLength: null,
app_1              |       _hasBody: true,
app_1              |       _trailer: '',
app_1              |       finished: true,
app_1              |       _headerSent: true,
app_1              | (node:21) UnhandledPromiseRejectionWarning: RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: undefined
app_1              |     at ServerResponse.writeHead (_http_server.js:248:11)
app_1              |     at ServerResponse._implicitHeader (_http_server.js:239:8)
app_1              |     at write_ (_http_outgoing.js:650:9)
app_1              |     at ServerResponse.end (_http_outgoing.js:761:5)
app_1              |     at ServerResponse.C.send (/opt/openvidu-call/openvidu-call-server.js:302:2782)
app_1              |     at p (/opt/openvidu-call/openvidu-call-server.js:320:3586)
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:4257
app_1              |     at /opt/openvidu-call/openvidu-call-server.js:320:2946
app_1              |     at Object.throw (/opt/openvidu-call/openvidu-call-server.js:320:3051)
app_1              |     at r (/opt/openvidu-call/openvidu-call-server.js:320:1816)
app_1              | (node:21) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
app_1              |       socket: [TLSSocket],
app_1              |       connection: [TLSSocket],
app_1              |       _header: 'POST /api/tokens HTTP/1.1\r\n' +
app_1              |         'Accept: application/json, text/plain, */*\r\n' +
app_1              |         'Content-Type: application/json\r\n' +
app_1              |         'Authorization: Basic T1BFTlZJRFVBUFA6T1BFTlZJRFVfU0VDUkVU\r\n' +
app_1              |         'User-Agent: axios/0.19.2\r\n' +
app_1              |         'Content-Length: 18\r\n' +
app_1              |         'Host: 172.17.0.1:5443\r\n' +
app_1              |         'Connection: close\r\n' +
app_1              |         '\r\n',
app_1              |       _onPendingData: [Function: noopPendingOutput],
app_1              |       agent: [Agent],
app_1              |       socketPath: undefined,
app_1              |       method: 'POST',
app_1              |       insecureHTTPParser: undefined,
app_1              |       path: '/api/tokens',
app_1              |       _ended: false,
app_1              |       res: null,
app_1              |       aborted: false,
app_1              |       timeoutCb: null,
app_1              |       upgradeOrConnect: false,
app_1              |       parser: null,
app_1              |       maxHeadersCount: null,
app_1              |       reusedSocket: false,
app_1              |       _redirectable: [Circular],
app_1              |       [Symbol(kCapture)]: false,
app_1              |       [Symbol(kNeedDrain)]: false,
app_1              |       [Symbol(corked)]: 0,
app_1              |       [Symbol(kOutHeaders)]: [Object: null prototype]
app_1              |     },
app_1              |     _currentUrl: 'https://172.17.0.1:5443/api/tokens',
app_1              |     [Symbol(kCapture)]: false
app_1              |   },
app_1              |   response: undefined,
app_1              |   isAxiosError: true,
app_1              |   toJSON: [Function]
app_1              | }
[root@server openvidu]#

Sorry… I have a typo in the value. Try with this:

OPENVIDU_URL=http://172.17.0.1:5443

Note that I use http instead https.

Thanks now it is not showing any gateway error, when i am joining from 2 different devices it is only showing local user video not the remote user video… https://prnt.sc/sh3jx5

[root@server openvidu]# docker-compose logs app
Attaching to openvidu_app_1
app_1              | [nodemon] 2.0.3
app_1              | [nodemon] to restart at any time, enter `rs`
app_1              | [nodemon] watching path(s): *.*
app_1              | [nodemon] watching extensions: js,mjs,json
app_1              | [nodemon] starting `node openvidu-call-server.js`
app_1              | ---------------------------------------------------------
app_1              |
app_1              | OPENVIDU URL: http://172.17.0.1:5443
app_1              | OPENVIDU SECRET: OPENVIDU_SECRET
app_1              | CALL OPENVIDU CERTTYPE: owncert
app_1              | OpenVidu Call Server is listening on port 5000
app_1              |
app_1              | ---------------------------------------------------------
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'prickly-orange-hoverfly' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'prickly-orange-hoverfly' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'compact-olive-earwig' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'compact-olive-earwig' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'compact-olive-earwig' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'compact-olive-earwig' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'profitable-amaranth-toad' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'profitable-amaranth-toad' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Session ID received { sessionId: 'demo' }
app_1              | Requesting session to  http://172.17.0.1:5443/api/sessions
app_1              | CALL_OPENVIDU_CERTTYPE owncert
app_1              | Requesting token to  http://172.17.0.1:5443/api/tokens
app_1              | CALL_OPENVIDU_CERTTYPE owncert
[root@server openvidu]#
``````````````````````
``````````````````````
[root@server openvidu]# docker-compose logs -f nginx
Attaching to openvidu_nginx_1
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          INPUT VARIABLES            =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Config NGINX:
nginx_1            |     - Http Port: 8880
nginx_1            |     - Https Port: 4443
nginx_1            |     - Allowed Access in Openvidu Dashboard: all
nginx_1            |     - Allowed Access in Openvidu API: all
nginx_1            |
nginx_1            |   Config Openvidu Application:
nginx_1            |     - Domain name: www.fourmodules.com
nginx_1            |     - Certificated: owncert
nginx_1            |     - Letsencrypt Email: rahul.nagpal@exoways.com
nginx_1            |     - Openvidu Application: true
nginx_1            |     - Openvidu Application Type: CE
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =       CONFIGURATION NGINX           =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Configure www.fourmodules.com domain...
nginx_1            |     - New configuration: owncert
nginx_1            |     - Old configuration: owncert
nginx_1            |     - Owmcert certificate already exists, using them...
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =          ALLOWED ACCESS             =
nginx_1            |   =======================================
nginx_1            |
nginx_1            |   Adding rules...
nginx_1            |
nginx_1            |   Finish Rules:
nginx_1            |     Openvidu Dashboard:
nginx_1            |            - allow all;
nginx_1            |     Openvidu API:
nginx_1            |            - allow all;
nginx_1            |
nginx_1            |   =======================================
nginx_1            |   =         START OPENVIDU PROXY        =
nginx_1            |   =======================================
nginx_1            |
nginx_1            | 2020/05/14 18:15:10 [warn] 62#62: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 18:15:10 [notice] 62#62: signal process started
nginx_1            | 2020/05/14 18:15:10 [warn] 8#8: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/letsencrypt/live/www.fourmodules.com/fullchain.pem"
nginx_1            | 2020/05/14 18:15:32 [warn] 65#65: *1 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/00/0000000001 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 18:15:40 [warn] 65#65: *5 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/00/0000000002 while reading upstream, client: 124.253.68.176, server: www.fourmodules.com, request: "GET /assets/images/bg.jpg HTTP/1.1", upstream: "http://[::1]:5442/assets/images/bg.jpg", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 18:44:52 [warn] 65#65: *91 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/00/0000000003 while reading upstream, client: 139.47.9.54, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://[::1]:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 18:44:53 [warn] 65#65: *94 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/00/0000000004 while reading upstream, client: 139.47.9.54, server: www.fourmodules.com, request: "GET /main.b07aadbe7807f9ace4c7.js HTTP/1.1", upstream: "http://[::1]:5442/main.b07aadbe7807f9ace4c7.js", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 20:06:56 [warn] 65#65: *101 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/5/00/0000000005 while reading upstream, client: 2.154.145.139, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 20:06:56 [warn] 65#65: *107 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/6/00/0000000006 while reading upstream, client: 2.154.145.139, server: www.fourmodules.com, request: "GET /main.b07aadbe7807f9ace4c7.js HTTP/1.1", upstream: "http://127.0.0.1:5442/main.b07aadbe7807f9ace4c7.js", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 22:48:05 [warn] 65#65: *199 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/00/0000000007 while reading upstream, client: 223.225.80.100, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 22:48:06 [warn] 65#65: *200 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/8/00/0000000008 while reading upstream, client: 223.225.80.100, server: www.fourmodules.com, request: "GET /scripts.f21b990dd8ee93d20e2b.js HTTP/1.1", upstream: "http://127.0.0.1:5442/scripts.f21b990dd8ee93d20e2b.js", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/14 22:48:06 [warn] 65#65: *207 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/9/00/0000000009 while reading upstream, client: 223.225.80.100, server: www.fourmodules.com, request: "GET /main.b07aadbe7807f9ace4c7.js HTTP/1.1", upstream: "http://[::1]:5442/main.b07aadbe7807f9ace4c7.js", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/15 03:41:27 [warn] 65#65: *273 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/0/01/0000000010 while reading upstream, client: 124.253.70.34, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://127.0.0.1:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/15 03:41:32 [warn] 65#65: *278 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/1/01/0000000011 while reading upstream, client: 124.253.70.34, server: www.fourmodules.com, request: "GET /assets/images/bg.jpg HTTP/1.1", upstream: "http://[::1]:5442/assets/images/bg.jpg", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/15 03:59:51 [warn] 65#65: *357 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/01/0000000012 while reading upstream, client: 124.253.70.34, server: www.fourmodules.com, request: "GET /styles.c5fbe22ec00c80a2eddf.css HTTP/1.1", upstream: "http://[::1]:5442/styles.c5fbe22ec00c80a2eddf.css", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"
nginx_1            | 2020/05/15 03:59:52 [warn] 65#65: *363 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/01/0000000013 while reading upstream, client: 124.253.70.34, server: www.fourmodules.com, request: "GET /main.b07aadbe7807f9ace4c7.js HTTP/1.1", upstream: "http://[::1]:5442/main.b07aadbe7807f9ace4c7.js", host: "www.fourmodules.com:4443", referrer: "https://www.fourmodules.com:4443/"

``````````````````````

I’ve test the URL https://www.fourmodules.com:4443/ and it is working for me in Chrome and Firefox.

Can you test again?

I have started a conference room with name “demo” in the firefox, then i have joined the same room in the chrome browser and it is saying " DEVICE ALREADY IN USE" https://prnt.sc/sj2x8x

You can’t access the camera form two different processes a the same time…

When I am testing from 2 different devices then it is showing blank screen for remote user… https://prnt.sc/sj3o6f
I have connected one from firefox web and other from iPhone safari browser. On both sides it is showing local video but not the remote video.

Chat is working fine but remote video is not showing…

I have allowed these ports now working… :slight_smile:

ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3478/tcp
ufw allow 3478/udp
ufw allow 40000:57000/tcp
ufw allow 40000:57000/udp
ufw allow 57001:65535/tcp
ufw allow 57001:65535/udp
ufw enable

Well, yeah. Those are the opened ports stated in the documentation. Properly following the installation instructions will make your installation work :wink: