Static over http api over https

From Attie's Wiki
(Difference between revisions)
Jump to: navigation, search
m
m
 
Line 48: Line 48:
  
 
   more_set_headers 'Server: MyAPI';
 
   more_set_headers 'Server: MyAPI';
 
  location / {
 
    rewrite . http://$host/ permanent;
 
  }
 
  
 
   location ~ ^/api {
 
   location ~ ^/api {
Line 58: Line 54:
 
     more_set_headers 'Access-Control-Expose-Headers: x-json';
 
     more_set_headers 'Access-Control-Expose-Headers: x-json';
 
     more_set_headers 'X-JSON: {"test":6}';
 
     more_set_headers 'X-JSON: {"test":6}';
 +
  }
 +
 +
  location ~ ^ {
 +
    rewrite . http://$host/? permanent;
 
   }
 
   }
 
}
 
}
  
 
</source>
 
</source>

Latest revision as of 14:44, 23 April 2014

This is a sample Nginx configuration file for serving static content via HTTP, and the API via HTTPS:

server {
  listen 80;
 
  access_log /home/www/logs/static_access.log;
  error_log /home/www/logs/static_error.log;
  root /home/www/static;
 
  more_set_headers 'Server: MyAPI';
 
  location = / {
    index  index.htm.gz;
  }
 
  location ~* \.css\.gz$ {
    more_set_headers 'Content-Type: text/css';
    more_set_headers 'Content-Encoding: gzip';
  }
 
  location ~* \.j(s\.)?gz$ {
    more_set_headers 'Content-Type: text/javascript';
    more_set_headers 'Content-Encoding: gzip';
  }
 
  location ~* \.html?\.gz$ {
    more_set_headers 'Content-Type: text/html';
    more_set_headers 'Content-Encoding: gzip';
  }
 
  location ~* \.png\.gz$ {
    more_set_headers 'Content-Type: image/png';
    more_set_headers 'Content-Encoding: gzip';
  }
}
 
server {
  listen 443 ssl;
 
  ssl_certificate /home/www/api.crt;
  ssl_certificate_key /home/www/api.key;
  ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers HIGH:!aNULL:!MD5;
 
  access_log /home/www/logs/api_access.log;
  error_log /home/www/logs/api_error.log;
  root /home/www/api;
 
  more_set_headers 'Server: MyAPI';
 
  location ~ ^/api {
    more_set_headers 'Access-Control-Allow-Origin: http://$host';
    more_set_headers 'Access-Control-Allow-Methods: *';
    more_set_headers 'Access-Control-Expose-Headers: x-json';
    more_set_headers 'X-JSON: {"test":6}';
  }
 
  location ~ ^ {
    rewrite . http://$host/? permanent;
  }
}
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox