Skip to content

Instantly share code, notes, and snippets.

@dandelauro
Created June 10, 2016 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dandelauro/8758402a03e622eaa941eee38133f138 to your computer and use it in GitHub Desktop.
Save dandelauro/8758402a03e622eaa941eee38133f138 to your computer and use it in GitHub Desktop.
Nginx server block for proxying S3
server {
listen 80;
server_name *.cogclient.com;
access_log /var/log/nginx/cogclient.access.log;
error_log /var/log/nginx/cogclient.error.log;
location / {
resolver 8.8.8.8;
set $bucket "happycog-static.s3-website-us-east-1.amazonaws.com";
rewrite ^([^.]*[^/])$ $1/ permanent;
# matches: branch-name.repository-name
if ($host ~ ^([^.]*)\.([^.]*)\.cogclient\.com) {
set $branch $1;
set $repo $2;
proxy_pass http://$bucket/${repo}/${branch}${uri};
}
# matches: repository-name
if ($host ~ ^([^.]*)\.cogclient\.com$) {
set $repo $1;
proxy_pass http://$bucket/${repo}/master${uri};
}
proxy_intercept_errors on;
proxy_redirect off;
proxy_set_header Host $bucket;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment