|
| 1 | +geo $dollar_sign { |
| 2 | + default "$"; |
| 3 | +} |
| 4 | + |
| 5 | +map $http_upgrade $connection_upgrade { |
| 6 | + default upgrade; |
| 7 | + "" close; |
| 8 | +} |
| 9 | + |
1 | 10 | server { |
2 | 11 | listen 80; |
3 | 12 | server_name _; |
@@ -49,21 +58,41 @@ server { |
49 | 58 | rewrite ^/teslamate/(.*)$ /$1 break; |
50 | 59 | proxy_pass http://$teslamate_upstream; |
51 | 60 | proxy_http_version 1.1; |
| 61 | + proxy_set_header Accept-Encoding ""; |
52 | 62 | proxy_set_header Host $host; |
53 | 63 | proxy_set_header X-Real-IP $remote_addr; |
54 | 64 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
55 | 65 | proxy_set_header X-Forwarded-Proto $scheme; |
56 | 66 | proxy_set_header X-Forwarded-Prefix /teslamate; |
57 | 67 | proxy_set_header Upgrade $http_upgrade; |
58 | | - proxy_set_header Connection "upgrade"; |
| 68 | + proxy_set_header Connection $connection_upgrade; |
59 | 69 | proxy_read_timeout 3600s; |
60 | 70 | proxy_redirect / /teslamate/; |
61 | 71 | sub_filter_once off; |
62 | | - sub_filter_types text/css application/javascript; |
| 72 | + sub_filter_types *; |
63 | 73 | sub_filter 'href="/' 'href="/teslamate/'; |
64 | 74 | sub_filter 'src="/' 'src="/teslamate/'; |
65 | 75 | sub_filter 'action="/' 'action="/teslamate/'; |
66 | | - sub_filter '"/live/websocket' '"/teslamate/live/websocket'; |
| 76 | + sub_filter '"/live' '"/teslamate/live'; |
| 77 | + sub_filter '"/js/' '"/teslamate/js/'; |
| 78 | + sub_filter 'url(/' 'url(/teslamate/'; |
| 79 | + sub_filter 'baseUrl:window.location.origin' 'baseUrl:window.location.origin+"/teslamate"'; |
| 80 | + sub_filter 'url:this.redirect?void 0:this.href||void 0' 'url:this.redirect?void 0:(this.href!==null?this.href.replace("/teslamate","/"):this.href)||void 0'; |
| 81 | + sub_filter 'onRedirect({to:o,flash:r}){this.liveSocket.redirect(o,r)}' 'onRedirect({to:o,flash:r}){this.liveSocket.redirect(o.replace(o.startsWith("/")?/^\//gm:/\/${dollar_sign}/gm, "/teslamate/"),r)}'; |
| 82 | + } |
| 83 | + |
| 84 | + location /live/websocket { |
| 85 | + set $teslamate_upstream teslamate:4000; |
| 86 | + proxy_pass http://$teslamate_upstream; |
| 87 | + proxy_http_version 1.1; |
| 88 | + proxy_set_header Host $host; |
| 89 | + proxy_set_header X-Real-IP $remote_addr; |
| 90 | + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| 91 | + proxy_set_header X-Forwarded-Proto $scheme; |
| 92 | + proxy_set_header X-Forwarded-Prefix /teslamate; |
| 93 | + proxy_set_header Upgrade $http_upgrade; |
| 94 | + proxy_set_header Connection $connection_upgrade; |
| 95 | + proxy_read_timeout 3600s; |
67 | 96 | } |
68 | 97 |
|
69 | 98 | location /assets/ { |
|
0 commit comments