Skip to content
Snippets Groups Projects
default.conf 2.42 KiB
Newer Older
Nils Schneider's avatar
Nils Schneider committed
geo $icebox_delivery_area {
    default                     1;
    127.0.0.0/8                 0;
    172.23.208.0/23             0;
    fe80::/10                   0;
    2a01:170:1112::/64          0;
}

# Webinterface

server {
  listen 80 default_server;

  client_max_body_size 4G;
  server_name icebox.nobreakspace.org;

  keepalive_timeout 5;

  location / {
    default_type text/html;
    if ( $icebox_delivery_area ) {
      add_header Content-Type text/html;
      return 451 "<h1>This service is not available in your country!</h1>\n";
    }

    proxy_buffering off;
    proxy_pass http://web:8080/;
    proxy_pass_header Server;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
  }

  location /favicon.ico {
    root /usr/share/nginx/html;
  }
}

# API

server {
  listen 8081 default_server;

  client_max_body_size 4G;
  server_name icebox.nobreakspace.org;

  keepalive_timeout 5;

  location / {
    default_type text/html;
    if ( $icebox_delivery_area ) {
      add_header Content-Type text/html;
      return 451 "<h1>This service is not available in your country!</h1>\n";
    }

    proxy_buffering off;
    proxy_pass http://backend:8081/;
    proxy_pass_header Server;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
  }
}

# Alias Service

server {
  listen 8085 default_server;

  client_max_body_size 4G;
  server_name icebox.nobreakspace.org;

  keepalive_timeout 5;

  location / {
    default_type text/html;
    if ( $icebox_delivery_area ) {
      add_header Content-Type text/html;
      return 451 "<h1>This service is not available in your country!</h1>\n";
    }

    proxy_buffering off;
    proxy_pass http://alias:8085/;
    proxy_pass_header Server;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
  }
}