Skip to content

Instantly share code, notes, and snippets.

@dokipen
Created March 27, 2012 13:47
Show Gist options
  • Select an option

  • Save dokipen/2216020 to your computer and use it in GitHub Desktop.

Select an option

Save dokipen/2216020 to your computer and use it in GitHub Desktop.
user www-data;
worker_processes 8;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
worker_rlimit_nofile 20240;
events {
worker_connections 20240;
use epoll;
}
http {
proxy_cache_path /var/www/cache levels=1 keys_zone=cache:1m max_size=50m inactive=60m;
proxy_cache_use_stale updating;
proxy_temp_path /var/www/cache/tmp;
# Enumerate all the Tornado servers here
upstream api_frontends {
# api01
server 10.127.161.211;
# api02
server 10.127.162.87;
# api03
server 10.126.134.191;
# api04
server 10.127.166.147;
# api05
server 10.127.167.56;
# api06
server 10.127.167.15;
# api07
server 10.127.35.66;
# api08
server 10.127.121.131;
# api09
server 10.127.169.161;
# api10
server 10.127.169.165;
# api11
server 10.127.121.132;
# api12
server 10.127.35.68;
# api13
server 10.127.120.63;
# api14
server 10.126.134.161;
# api15
server 10.127.161.79;
# api16
server 10.127.161.85;
# api12
server 10.126.134.190;
# api18
server 10.126.134.162;
# api19
server 10.127.169.210;
# api20
server 10.127.169.212;
# api22
server 10.129.53.76;
# api25
server 10.129.53.96;
# api26
server 10.129.77.33;
# api27
server 10.129.77.34;
# api28
server 10.129.77.35;
# api29
server 10.129.77.61;
# api30
server 10.129.129.145;
}
upstream jimbo_frontends {
server 10.127.162.116;
}
upstream providers_frontends {
server 10.127.161.66;
}
upstream media_frontends {
server 10.127.169.21;
}
upstream nest_frontends {
server 10.127.164.252;
}
upstream publish_frontends {
server 10.127.167.201;
}
upstream apply_frontends {
server 10.126.39.148;
}
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
keepalive_timeout 65;
proxy_read_timeout 200;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/html text/css text/xml
application/x-javascript application/xml
application/atom+xml text/javascript;
proxy_next_upstream error;
log_format api 'API: $remote_addr - $remote_user [$time_local] [$msec] "$request" $status $request_time $body_bytes_sent "$http_referer" "$http_user_agent" "$upstream_http_x_from_cache" "$upstream_http_x_host" $upstream_addr $upstream_response_time';
log_format api2 'API: $remote_addr - $remote_user [$time_local] [$msec] "$request" $status $request_time $body_bytes_sent "$http_referer" "$http_user_agent" "$upstream_http_x_from_cache" "$upstream_http_x_host" $upstream_addr $upstream_response_time $http_host';
## Block spammers and other unwanted visitors ##
include blockips.conf;
server {
listen 80;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
access_log /var/log/nginx/publisher.access.log api2;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://publish_frontends;
}
}
server {
listen 80;
server_name api.doki-pen.com;
access_log /var/log/nginx/access.log api;
rewrite ^/sherlock/?(.*) /1/sherlock$1 last;
location /1/services {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_cache cache;
proxy_pass http://api_frontends;
}
location /1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /running {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location / {
rewrite ^(.*)$ http://doki-pen.ly$1 permanent;
}
}
server {
listen 80;
server_name media.doki-pen.com;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://media_frontends;
}
}
server {
listen 80;
server_name media.doki-pen.ly;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://media_frontends;
}
}
server {
listen 80;
server_name api.doki-pen.ly;
access_log /var/log/nginx/access.log api;
rewrite ^/sherlock/?(.*) /1/sherlock$1 last;
location /1/services {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_cache cache;
proxy_cache_valid 200 180m;
proxy_pass http://api_frontends;
}
location /1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /running {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location / {
rewrite ^(.*)$ http://doki-pen.ly$1 permanent;
}
}
server {
listen 443;
server_name api.doki-pen.ly;
ssl on;
ssl_certificate /etc/ssl/private/doki-pen.ly/doki-pen.ly.crt;
ssl_certificate_key /etc/ssl/private/doki-pen.ly/doki-pen.ly.key;
ssl_ciphers HIGH:!ADH:!MD5:!kEDH;
keepalive_timeout 70;
access_log /var/log/nginx/access.log api;
rewrite ^/oohdoki-pen/?(.*) /1/odoki-pen$1 last;
location /1/services {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_cache cache;
proxy_pass http://api_frontends;
}
location /1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /running {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location / {
rewrite ^(.*)$ http://doki-pen.ly$1 permanent;
}
}
server {
listen 80;
server_name boston.doki-pen.ly;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
}
server {
listen 80;
server_name oohdoki-pen.com;
server_name www.oohdoki-pen.com;
rewrite ^/oohdoki-pen/?(.*) /1/odoki-pen$1 last;
access_log /var/log/nginx/access.log api;
location /1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /s/2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /2 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /v1 {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location /running {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://api_frontends;
}
location / {
alias /var/www/oohdoki-pen/;
if ($query_string) {
expires max;
}
}
}
server {
listen 80;
server_name publish.doki-pen.ly;
rewrite ^/(.*) http://doki-pen.ly/$1 permanent;
}
server {
listen 80;
server_name www.findpit.com;
rewrite ^/(.*) http://findpit.com/$1 permanent;
}
server {
listen 80;
server_name findpit.com;
location / {
alias /opt/projects/findpit/;
if ($query_string) {
expires max;
}
}
}
server {
listen 80;
server_name jimbo.doki-pen.ly;
access_log /var/log/nginx/access.log api;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://jimbo_frontends;
}
}
server {
listen 80;
server_name providers.doki-pen.ly;
access_log /var/log/nginx/access.log api;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://providers_frontends;
}
}
server {
listen 80;
server_name apply.doki-pen.ly;
access_log /var/log/nginx/access.log api;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://apply_frontends;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment