Ver Fonte

Websocket via webserver container

Alexander Musikhin há 10 meses atrás
pai
commit
d234420088
4 ficheiros alterados com 17 adições e 25 exclusões
  1. 1 1
      config/app.php
  2. 2 2
      docker-compose.yml
  3. 13 21
      docker/nginx/conf.d/app.conf
  4. 1 1
      resources/views/layouts/app.blade.php

+ 1 - 1
config/app.php

@@ -54,7 +54,7 @@ return [
 
     'url' => env('APP_URL', 'http://localhost'),
     'addr' => env('APP_ADDR', 'http://localhost'),
-    'ws_port' => env('WS_PORT', '3000'),
+    'ws_addr' => env('WS_ADDR', '3000'),
 
     /*
     |--------------------------------------------------------------------------

+ 2 - 2
docker-compose.yml

@@ -120,8 +120,8 @@ services:
             - REDIS_PASSWORD=${REDIS_PASSWORD}
         tty: true
         command: '/bin/sh -c ''node server'''
-        ports:
-            - ${WS_PORT:-3000}:9000
+#        ports:
+#            - ${WS_PORT:-3000}:9000
         networks:
             - cpa-network
         depends_on:

+ 13 - 21
docker/nginx/conf.d/app.conf

@@ -16,31 +16,23 @@ server {
         fastcgi_param PATH_INFO $fastcgi_path_info;
     }
 
-
-#      location /files/ {
-#        rewrite ^/files/(.*)$ /$1 break;
-#        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 Host $http_host;
-#
-#        proxy_connect_timeout 300;
-#        # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
-#        proxy_http_version 1.1;
-#        proxy_set_header Connection "";
-#        chunked_transfer_encoding off;
-#
-#        proxy_pass http://minio:9000;
-#      }
-
     location / {
       root   /var/frontend;
       index  index.php;
       try_files $uri $uri/ /index.php?$query_string;
     }
 
-#     location /api {
-#         try_files $uri $uri/ /index.php?$query_string;
-#         gzip_static on;
-#     }
+    location /ws {
+            proxy_pass http://websocket:9000;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header Host $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;
+
+            # WebSocket support
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            proxy_set_header Connection "upgrade";
+            proxy_read_timeout 600s;
+    }
 }

+ 1 - 1
resources/views/layouts/app.blade.php

@@ -97,7 +97,7 @@
     @stack('scripts')
     <script type="module">
         let user = {{ auth()->user()?->id ?? 0}};
-        let socketAddress = '{{ config('app.addr') . ':' . config('app.ws_port') }}';
+        let socketAddress = '{{ config('app.ws_addr') }}';
         localStorage.setItem('user', user);
         localStorage.setItem('socketAddress', socketAddress);
     </script>