You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/docker/nginx/asciinema.conf

75 lines
1.9 KiB
Plaintext

upstream rails-server {
server 127.0.0.1:3000 fail_timeout=0;
}
upstream phoenix-server {
server 127.0.0.1:4000 fail_timeout=0;
}
upstream clj-server {
server 127.0.0.1:5000 fail_timeout=0;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /app/public;
client_max_body_size 16m;
location ~ ^/(phoenix/|css/|js/|images/|fonts/|docs/?) {
try_files /maintenance.html $uri/index.html $uri.html $uri @phoenix;
}
location ~ ^/a/[^.]+\.png$ {
try_files $uri $uri/index.html $uri.html @clj;
}
location ~ ^/a/[^.]+\.(json|gif)$ {
try_files $uri $uri/index.html $uri.html @phoenix;
}
location / {
try_files $uri $uri/index.html $uri.html @rails;
}
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
location @rails {
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_pass http://rails-server;
proxy_redirect off;
error_page 500 502 504 /500.html; # Rails error pages
}
location @phoenix {
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_pass http://phoenix-server;
proxy_redirect off;
}
location @clj {
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_pass http://clj-server;
proxy_redirect off;
}
}