Skip to content

Commit

Permalink
Merge pull request #208 from introlab/dev
Browse files Browse the repository at this point in the history
Main merge for 1.2.1 release
  • Loading branch information
doumdi committed Apr 19, 2023
2 parents c22c72a + 551ff3d commit c2b1ce6
Show file tree
Hide file tree
Showing 51 changed files with 2,057 additions and 229 deletions.
2 changes: 1 addition & 1 deletion teraserver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ endif(NOT CMAKE_BUILD_TYPE)
# Software version
SET(OPENTERA_VERSION_MAJOR "1")
SET(OPENTERA_VERSION_MINOR "2")
SET(OPENTERA_VERSION_PATCH "0")
SET(OPENTERA_VERSION_PATCH "1")

SET(OPENTERA_SERVER_VERSION OpenTera_v${OPENTERA_VERSION_MAJOR}.${OPENTERA_VERSION_MINOR}.${OPENTERA_VERSION_PATCH})

Expand Down
164 changes: 164 additions & 0 deletions teraserver/python/config/external_services.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# location /bureau/ {
# proxy_pass http://127.0.0.1:4050/;
# proxy_redirect http://$host/ https://$host:$server_port/;
# proxy_set_header X-ExternalPort $server_port;
# proxy_set_header X-ExternalHost $host;
# proxy_set_header X_ExternalServer $server_name;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Scheme $scheme;
# proxy_set_header X-Script-Name /bureau;
# }

location /dance/ {
client_max_body_size 2G;
proxy_pass http://127.0.0.1:4060/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /dance;
}

location ~ ^/webrtc_dance/([0-9]+)/(.*)$ {
resolver 127.0.0.1;
proxy_pass http://127.0.0.1:$1/$2$is_args$args;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /webrtc_dance/;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location /robot/ {
proxy_pass http://127.0.0.1:4080/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /robot;
}

location /webportal/ {
proxy_pass http://127.0.0.1:4090/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /webportal;
}

# location /room/ {
# proxy_pass http://localhost:5000/;
# proxy_redirect http://$host/ https://$host:$server_port/;
# proxy_set_header X-ExternalPort $server_port;
# proxy_set_header X-ExternalHost $host;
# proxy_set_header X_ExternalServer $server_name;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Scheme $scheme;
# proxy_set_header X-Script-Name /room;
# }

location /example/ {
proxy_pass http://127.0.0.1:5010/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /example;
}

location /recrutement/ {
proxy_pass http://127.0.0.1:5020/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /webportal;
}

########################################################################################################################

########################################################################################################################
# webrtc_teleop on port defined in url tilda means will have regexp,
########################################################################################################################
location ~ ^/webrtc_teleop/.*$ {

# Here is a tool to help you debug these regular expressions https://regex101.com/
# The order of these rewrites are important!

# Handle request ending with js/*.js or css css/*.css (Styles and scripts files in static folder)
rewrite ^/webrtc_teleop/([0-9]+)/.*((?>js|css)/.*\.(?>css|js|map))$ /signaling_server/$1/$2 last;

# Handle request for /iceservers
rewrite ^/webrtc_teleop/([0-9]+)/iceservers$ /signaling_server/$1/iceservers last;

# Handle request for /socket.io
rewrite ^/webrtc_teleop/([0-9]+)/socket.io(.*)$ /signaling_server/$1/socket.io$2 last;

# Handle request with no index.html and not ending with .css or .js (Application's router)
rewrite ^/webrtc_teleop/([0-9]+)/((?!index.html).*(?<!\.css|\.js))$ /signaling_server/$1/index.html last;

# Redirection to the proxy
rewrite ^/webrtc_teleop/(.*)$ /signaling_server/$1$is_args$args last;

# No request has matched, Forbiden
return 403;
}

location ~ ^/signaling_server/(.*)$ {
proxy_pass http://127.0.0.1:$1$is_args$args;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
# proxy_set_header X-Script-Name /webrtc_teleop/;

# Websocket upgrades
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

1 change: 1 addition & 0 deletions teraserver/python/config/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ http {
ssl_prefer_server_ciphers on;

include opentera.conf;
include external_services.conf;
}


Expand Down
153 changes: 0 additions & 153 deletions teraserver/python/config/opentera.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@


location / {
proxy_pass http://127.0.0.1:4040;
proxy_set_header X-ExternalPort $server_port;
Expand Down Expand Up @@ -54,36 +52,6 @@ location /file/ {
proxy_set_header X-Script-Name /file;
}


location /bureau/ {
proxy_pass http://127.0.0.1:4050/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /bureau;
}

location /dance/ {
client_max_body_size 2G;
proxy_pass http://127.0.0.1:4060/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /dance;
}

location /rehab/ {
proxy_pass http://127.0.0.1:4070/;
proxy_redirect http://$host/ https://$host:$server_port/;
Expand All @@ -98,62 +66,6 @@ location /rehab/ {
proxy_set_header X-Script-Name /rehab;
}

location /robot/ {
proxy_pass http://127.0.0.1:4080/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /robot;
}

location /webportal/ {
proxy_pass http://127.0.0.1:4090/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /webportal;
}

location /room/ {
proxy_pass http://localhost:5000/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /room;
}

location /example/ {
proxy_pass http://localhost:5010/;
proxy_redirect http://$host/ https://$host:$server_port/;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /example;
}

########################################################################################################################
# webrtc on port xxxx
########################################################################################################################
Expand All @@ -171,75 +83,10 @@ location ~ ^/webrtc/([0-9]+)/(.*)$ {
proxy_set_header X-Script-Name /webrtc/;
}

location ~ ^/webrtc_dance/([0-9]+)/(.*)$ {
resolver 127.0.0.1;
proxy_pass http://127.0.0.1:$1/$2$is_args$args;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /webrtc_dance/;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location ~ ^/websocket/([0-9]+)/(.*)$ {
resolver 127.0.0.1;
proxy_pass http://127.0.0.1:$1/websocket/$1/$2$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
########################################################################################################################

########################################################################################################################
# webrtc_teleop on port defined in url tilda means will have regexp,
########################################################################################################################
location ~ ^/webrtc_teleop/.*$ {

# Here is a tool to help you debug these regular expressions https://regex101.com/
# The order of these rewrites are important!

# Handle request ending with js/*.js or css css/*.css (Styles and scripts files in static folder)
rewrite ^/webrtc_teleop/([0-9]+)/.*((?>js|css)/.*\.(?>css|js|map))$ /signaling_server/$1/$2 last;

# Handle request for /iceservers
rewrite ^/webrtc_teleop/([0-9]+)/iceservers$ /signaling_server/$1/iceservers last;

# Handle request for /socket.io
rewrite ^/webrtc_teleop/([0-9]+)/socket.io(.*)$ /signaling_server/$1/socket.io$2 last;

# Handle request with no index.html and not ending with .css or .js (Application's router)
rewrite ^/webrtc_teleop/([0-9]+)/((?!index.html).*(?<!\.css|\.js))$ /signaling_server/$1/index.html last;

# Redirection to the proxy
rewrite ^/webrtc_teleop/(.*)$ /signaling_server/$1$is_args$args last;

# No request has matched, Forbiden
return 403;
}

location ~ ^/signaling_server/(.*)$ {
proxy_pass http://127.0.0.1:$1$is_args$args;
proxy_set_header X-ExternalPort $server_port;
proxy_set_header X-ExternalHost $host;
proxy_set_header X_ExternalServer $server_name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
# proxy_set_header X-Script-Name /webrtc_teleop/;

# Websocket upgrades
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

17 changes: 0 additions & 17 deletions teraserver/python/docker/opentera_videodispatch.service

This file was deleted.

0 comments on commit c2b1ce6

Please sign in to comment.