File size: 3,443 Bytes
e699b4b
a324caa
1cb3332
 
 
a324caa
 
1cb3332
 
 
 
 
1278eaa
df35134
 
 
 
 
 
 
 
e37e70d
e700ab3
 
 
a324caa
e700ab3
 
a324caa
e700ab3
 
 
 
 
a324caa
e700ab3
 
 
a324caa
e700ab3
5e9d969
e700ab3
a324caa
e700ab3
5e9d969
e700ab3
a324caa
e700ab3
a49c134
e700ab3
2ab29ec
 
 
 
 
 
 
 
 
 
 
 
 
7e81bd7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5b551da
2ab29ec
 
 
e700ab3
 
 
 
 
a324caa
e700ab3
 
 
a324caa
e700ab3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a324caa
 
6d45724
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
user root;
events { worker_connections 1024; }
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /tmp/nginx.pid;  # <- change here

http {
    client_body_temp_path /tmp/client_body 1 2;
    proxy_temp_path       /tmp/proxy_temp 1 2;
    fastcgi_temp_path     /tmp/fastcgi_temp 1 2;
    uwsgi_temp_path       /tmp/uwsgi_temp 1 2;
    scgi_temp_path        /tmp/scgi_temp 1 2;

    client_body_timeout 36000s;
    client_header_timeout 36000s;
    send_timeout 36000s;
    keepalive_timeout 36000s;

    proxy_connect_timeout 36000s;
    proxy_read_timeout 36000s;
    proxy_send_timeout 36000s;

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    sendfile      on;

    proxy_buffering off;
    client_max_body_size 200M;

    # WebSocket upgrade mapping (must be in http context)
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    upstream app_http {
        server 127.0.0.1:3000;
    }

    upstream renderer {
        server 127.0.0.1:8083;
    }

    server {
        listen 8080;
        server_name _;

        # /api/render-sync/** -> internal 8083
        location ^~ /api/render-sync {
            proxy_pass http://renderer$request_uri;
            proxy_http_version 1.1;
            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;

            # WebSocket headers
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            proxy_buffering off;
        }

        #/api/jobs and /api/jobs/** -> internal 8083
        location ^~ /api/v2 {
            proxy_pass http://renderer$request_uri;
            proxy_http_version 1.1;
            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;

            # WebSocket headers
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            proxy_buffering off;
        }

        #/api/jobs and /api/jobs/** -> internal 8083
        location ^~ /api/jobs {
            proxy_pass http://renderer$request_uri;
            proxy_http_version 1.1;
            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;

            # WebSocket headers
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            proxy_buffering off;
        }

        # all other requests -> internal 3000
        location / {
            proxy_pass http://app_http;
            proxy_http_version 1.1;
            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;

            # WebSocket headers
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            proxy_buffering off;
        }
    }
}