diff --git a/backend/services/controller/internal/api/api.go b/backend/services/controller/internal/api/api.go index b2c4270..62d53b3 100644 --- a/backend/services/controller/internal/api/api.go +++ b/backend/services/controller/internal/api/api.go @@ -38,10 +38,10 @@ func NewApi(port string, db db.Database, b mtp.Broker, msgQueue map[string](chan func StartApi(a Api) { r := mux.NewRouter() - authentication := r.PathPrefix("/auth").Subrouter() + authentication := r.PathPrefix("/api/auth").Subrouter() authentication.HandleFunc("/login", a.generateToken).Methods("PUT") //authentication.HandleFunc("/register", a.registerUser).Methods("POST") - iot := r.PathPrefix("/device").Subrouter() + iot := r.PathPrefix("/api/device").Subrouter() iot.HandleFunc("", a.retrieveDevices).Methods("GET") iot.HandleFunc("/{sn}/get", a.deviceGetMsg).Methods("PUT") iot.HandleFunc("/{sn}/add", a.deviceCreateMsg).Methods("PUT") diff --git a/backend/services/mochi/cmd/main.go b/backend/services/mochi/cmd/main.go index 158f51c..4bfe304 100644 --- a/backend/services/mochi/cmd/main.go +++ b/backend/services/mochi/cmd/main.go @@ -85,6 +85,9 @@ func main() { serverForTLS := mqtt.New(&mqtt.Options{}) + lTls := serverForTLS.Log.Level(zerolog.DebugLevel) + serverForTLS.Log = &lTls + l := server.Log.Level(zerolog.DebugLevel) server.Log = &l @@ -196,6 +199,10 @@ func main() { if err != nil { log.Fatal(err) } + err = serverForTLS.Serve() + if err != nil { + log.Fatal(err) + } }() <-done diff --git a/devops/controller.service b/devops/controller.service index 34dd7f7..dff8900 100644 --- a/devops/controller.service +++ b/devops/controller.service @@ -2,7 +2,7 @@ Description=TR-369 Controller [Service] -ExecStart=/usr/bin/controller -u 'root' -P '' -mongo '' -p 8883 -tls +ExecStart=/usr/bin/controller -u 'root' -P '' -mongo '' -ap 8001 Restart=always RestartSec=4 diff --git a/devops/ecosystem.config.js b/devops/ecosystem.config.js new file mode 100644 index 0000000..c3b1463 --- /dev/null +++ b/devops/ecosystem.config.js @@ -0,0 +1,10 @@ +module.exports = { + apps: [ + { + name: 'oktopus', + env: { + NEXT_PUBLIC_REST_ENPOINT: 'https://oktopus.ifsc.digital:8000' + }, + }, + ], +}; \ No newline at end of file diff --git a/devops/nginx.conf b/devops/nginx.conf new file mode 100644 index 0000000..aa8dc9e --- /dev/null +++ b/devops/nginx.conf @@ -0,0 +1,93 @@ +# For more information on configuration, see: +# * Official English Documentation: http://nginx.org/en/docs/ +# * Official Russian Documentation: http://nginx.org/ru/docs/ + +user nginx; +worker_processes auto; +error_log /var/log/nginx/error.log notice; +pid /run/nginx.pid; + +# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. +include /usr/share/nginx/modules/*.conf; + +events { + worker_connections 1024; +} + +http { + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + tcp_nopush on; + keepalive_timeout 65; + types_hash_max_size 4096; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + # Load modular configuration files from the /etc/nginx/conf.d directory. + # See http://nginx.org/en/docs/ngx_core_module.html#include + # for more information. + include /etc/nginx/conf.d/*.conf; + + server { + if ($host = oktopustr369.com) { + return 301 https://$host$request_uri; + } + listen 80; + listen [::]:80; + server_name oktopustr369.com; + return 404; + } + + server { + listen 443 http2; + listen [::]:443 ssl http2; + server_name oktopustr369.com; + root /usr/share/nginx/html; + + # Load configuration files for the default server block. + include /etc/nginx/default.d/*.conf; + + ssl_certificate "/etc/letsencrypt/live/oktopustr369.com/fullchain.pem"; + ssl_certificate_key "/etc/letsencrypt/live/oktopustr369.com/privkey.pem"; + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 10m; + ssl_ciphers PROFILE=SYSTEM; + ssl_prefer_server_ciphers on; + + location / { + proxy_pass http://127.0.0.1:3000; + proxy_read_timeout 60; + proxy_connect_timeout 60; + proxy_redirect off; + + # Allow the use of websockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + + location /api { + proxy_pass http://127.0.0.1:8001; + proxy_read_timeout 60; + proxy_connect_timeout 60; + proxy_redirect off; + + # Allow the use of websockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + } + + } + diff --git a/frontend/src/sections/overview/overview-latest-orders.js b/frontend/src/sections/overview/overview-latest-orders.js index d5bfc23..27229ea 100644 --- a/frontend/src/sections/overview/overview-latest-orders.js +++ b/frontend/src/sections/overview/overview-latest-orders.js @@ -100,7 +100,7 @@ export const OverviewLatestOrders = (props) => { router.push("devices/"+order.id)} + onClick={()=>router.push("devices/"+order.SN)} >