Update app nginx config

rtd2
Eric Holscher 2013-08-06 17:14:11 -07:00
parent a76eaff762
commit 89e5505c27
1 changed files with 72 additions and 91 deletions

View File

@ -1,31 +1,65 @@
log_format host '$host $remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
port_in_redirect off;
#Media
server {
listen 80;
listen 8000;
server_name media.readthedocs.org;
access_log /var/log/nginx/rtdmedia.log;
location / {
expires 60m;
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media;
add_header X-Deity Chimera;
root /home/docs/checkouts/readthedocs.org/media;
add_header X-Deity Asgard;
}
}
#EH redirects
server {
listen 8000;
server_name static.ericholscher.com ericholscher.com;
location / {
alias /home/docs/checkouts/readthedocs.org/user_builds/ericholschercom/rtd-builds/latest/;
}
}
#Plone redirects
server {
listen 8000;
server_name collective-docs.readthedocs.org;
location / {
rewrite ^(.*) http://developer.plone.org$1;
}
location /en/latest/ {
rewrite ^(.*) http://developer.plone.org$1;
}
}
#nginx redirects
server {
listen 8000;
server_name ngx.readthedocs.org nginx.readthedocs.org;
location / {
rewrite ^(.*) http://docs.ngx.cc$1;
}
}
#CNAMEs
server {
index index.html;
listen 80;
listen 8000 default;
access_log /var/log/nginx/readthedocs-cname.log host;
location /favicon.ico {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media/images;
root /home/docs/checkouts/readthedocs.org/media/images;
break;
}
location /robots.txt {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media;
root /home/docs/checkouts/readthedocs.org/media;
break;
}
@ -34,88 +68,35 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
#For pylons.
location ~* ^/projects/(?P<project_slug>[^/]+)/dev/(?P<path>.*) {
rewrite ^(.*) http://$host/projects/$project_slug/en/latest/$path?awesome permanent;
}
location ~* ^/projects/(?P<project_slug>.+)/(?P<version>1.0|1.1|1.2)/(?P<path>.*) {
rewrite ^(.*) http://$host/projects/$project_slug/en/$version-branch/$path permanent;
}
location /index.html {
rewrite ^(.*) http://$host/en/latest/index.html;
}
location /podcasts.html {
rewrite ^(.*) http://$host/en/latest/podcasts.html;
}
location /denials/pyramid.html {
rewrite ^(.*) http://$host/en/latest/denials/pyramid.html;
}
location /docs/libraries.html {
rewrite ^(.*) http://$host/en/latest/docs/libraries.html;
}
location /docs/pylons.html {
rewrite ^(.*) http://$host/en/latest/docs/pylons.html;
}
location /docs/pyramid_install.html {
rewrite ^(.*) http://$host/en/latest/docs/pyramid_install.html;
}
location /docs/pyramid_quick_tutorial.html {
rewrite ^(.*) http://$host/en/latest/docs/pyramid_quick_tutorial.html;
}
location /docs/pyramid.html {
rewrite ^(.*) http://$host/en/latest/docs/pyramid.html;
}
location /faq/pylonsproject.html {
rewrite ^(.*) http://$host/en/latest/faq/pylonsproject.html;
}
location /faq/pyramid.html {
rewrite ^(.*) http://$host/en/latest/faq/pyramid.html;
}
location /promote/badges.html {
rewrite ^(.*) http://$host/en/latest/promote/badges.html;
}
location /promote/desktops.html {
rewrite ^(.*) http://$host/en/latest/promote/desktops.html;
}
location /promote/logos.html {
rewrite ^(.*) http://$host/en/latest/promote/logos.html;
}
#end pylons
location ~ ^/en/(?P<version>.+)/(?P<path>.*) {
alias /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/cnames/$host/$version/$path;
location ~ ^/en/(?P<doc_verison>.+)/(?P<path>.*) {
alias /home/docs/checkouts/readthedocs.org/cnames/$host/$doc_verison/$path;
add_header X-Served Nginx;
add_header X-Cname $host;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
error_page 404 = @fallback;
error_page 500 = @fallback;
}
location ~ ^/en/(?P<doc_verison>.+) {
alias /home/docs/checkouts/readthedocs.org/cnames/$host/$doc_verison;
add_header X-Served Nginx;
add_header X-Cname $host;
add_header X-Deity Asgard;
#error_page 404 = @fallback;
#error_page 500 = @fallback;
}
location /user_builds/ {
internal;
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org;
root /home/docs/checkouts/readthedocs.org;
error_page 404 = @fallback;
error_page 500 = @fallback;
add_header X-Served nginx-via-django;
add_header X-Cname $host;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
#location / {
@ -127,37 +108,36 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
}
#rtd.org
server {
index index.html;
listen 80 default;
listen 8000;
server_name readthedocs.org;
access_log /var/log/nginx/readthedocs.log host;
client_max_body_size 50m;
location /favicon.ico {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media/images;
root /home/docs/checkouts/readthedocs.org/media/images;
break;
}
location /robots.txt {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media;
root /home/docs/checkouts/readthedocs.org/media;
break;
}
location ~* /docs/(?P<project>.+)/en/(?P<version>.+/?)(?P<path>.+) {
location ~* /docs/(?P<project>.+)/(?P<doc_lang>\w\w)/(?P<doc_verison>.+/?)(?P<path>.+) {
add_header X-You-Got-Served Nginx;
add_header X-Deity Chimera;
set $proto http;
if ( $http_x_ssl = Yup ) {
set $proto https;
}
rewrite ^ $proto://$project.readthedocs.org/en/$version$path permanent;
rewrite ^ $proto://$project.readthedocs.org/$doc_lang/$doc_verison$path permanent;
}
location / {
@ -166,7 +146,7 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
location @fallback {
proxy_pass http://127.0.0.1:8888;
@ -174,12 +154,12 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
location /user_builds/ {
internal;
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org;
root /home/docs/checkouts/readthedocs.org;
error_page 404 = @fallback;
error_page 500 = @fallback;
}
@ -192,12 +172,12 @@ server {
access_log /var/log/nginx/readthedocs.log host;
location /favicon.ico {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media/images;
root /home/docs/checkouts/readthedocs.org/media/images;
break;
}
location /robots.txt {
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/media;
root /home/docs/checkouts/readthedocs.org/media;
break;
}
@ -211,11 +191,11 @@ server {
location ~ ^/en/(.+)/(.*) {
alias /home/docs/sites/readthedocs.org/checkouts/readthedocs.org/user_builds/$domain/rtd-builds/$1/$2;
alias /home/docs/checkouts/readthedocs.org/user_builds/$domain/rtd-builds/$1/$2;
error_page 404 = @fallback;
error_page 500 = @fallback;
add_header X-Served Nginx;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
location / {
@ -224,7 +204,7 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
location @fallback {
@ -233,11 +213,11 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
location /user_builds/ {
internal;
root /home/docs/sites/readthedocs.org/checkouts/readthedocs.org;
root /home/docs/checkouts/readthedocs.org;
error_page 404 = @fallback;
error_page 500 = @fallback;
}
@ -248,6 +228,7 @@ server {
listen 8000;
server_name rtfd.org www.rtfd.org sphinxdocs.com www.readthedocs.com readthedocs.com www.readthedocs.org djangowoodies.com;
rewrite ^(.*) http://readthedocs.org$1;
add_header X-Deity Asgard;
}
#Redirects
@ -260,7 +241,7 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Deity Chimera;
add_header X-Deity Asgard;
}
}