Skip to content

Instantly share code, notes, and snippets.

@darkphnx
Last active May 11, 2020 13:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darkphnx/1b9b274324eaa6696db7331f32a664ce to your computer and use it in GitHub Desktop.
Save darkphnx/1b9b274324eaa6696db7331f32a664ce to your computer and use it in GitHub Desktop.
Nginx Developer Config
upstream codebase {
server 127.0.0.1:3000 fail_timeout=0;
}
upstream identity {
server 127.0.0.1:3001 fail_timeout=0;
}
upstream deploy {
server 127.0.0.1:3002 fail_timeout=0;
}
upstream billy {
server 127.0.0.1:3003 fail_timeout=0;
}
upstream sirportly {
server 127.0.0.1:3004 fail_timeout=0;
}
upstream acme-manager {
server 127.0.0.1:8000 fail_timeout=0;
}
upstream deploy-websocket {
server 127.0.0.1:8080 fail_timeout=0;
}
server {
listen 80;
listen [::]:80 ipv6only=on;
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
ssl_certificate /etc/ssl/certs/localhost.crt;
ssl_certificate_key /etc/ssl/private/localhost.key;
set $domain $host;
# e.g. codebase.localhost
if ($domain ~ "^(.[^.]*)\.localhost$") {
set $domain $1;
set $upstream $domain;
set $servername "${domain}.localhost";
}
# e.g. test.codebase.localhost
if ($domain ~ "^(.*)\.(.[^.]*)\.localhost$") {
set $subdomain $1;
set $domain $2;
set $upstream $domain;
set $servername "${subdomain}.${domain}.localhost";
}
# Support Centres
if ($domain ~ "^support.dan.dev.codebasehq.com$") {
set $upstream "sirportly";
set $domain "sirportly";
set $servername "support.dan.dev.codebasehq.com";
}
if ($host ~ "^(.*).customerarea.localhost$") {
set $upstream "sirportly";
set $domain "sirportly";
set $servername "$1.customerarea.localhost";
}
server_name $servername;
root /home/dan/src/atech/$domain/public;
location /deploywebsocket-pushwss {
proxy_pass http://deploy-websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
try_files $uri @backend;
location @backend {
proxy_redirect off;
proxy_read_timeout 300s;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://$upstream;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment