Last active
December 28, 2015 12:39
-
-
Save siteshen/7502087 to your computer and use it in GitHub Desktop.
A sample nginx snippet with the following rules: 1. serve all files in /upload/ (and sub directory) except /upload/attachment;
2. serve only image files in /upload/attachment/ (and sub directory).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| types { | |
| text/html html htm shtml; | |
| text/css css; | |
| text/xml xml; | |
| image/gif gif; | |
| image/jpeg jpeg jpg; | |
| application/x-javascript js; | |
| application/atom+xml atom; | |
| application/rss+xml rss; | |
| text/mathml mml; | |
| text/plain txt; | |
| text/vnd.sun.j2me.app-descriptor jad; | |
| text/vnd.wap.wml wml; | |
| text/x-component htc; | |
| image/png png; | |
| image/tiff tif tiff; | |
| image/vnd.wap.wbmp wbmp; | |
| image/x-icon ico; | |
| image/x-jng jng; | |
| image/x-ms-bmp bmp; | |
| image/svg+xml svg svgz; | |
| image/webp webp; | |
| application/java-archive jar war ear; | |
| application/mac-binhex40 hqx; | |
| application/msword doc; | |
| application/pdf pdf; | |
| application/postscript ps eps ai; | |
| application/rtf rtf; | |
| application/vnd.ms-excel xls; | |
| application/vnd.ms-powerpoint ppt; | |
| application/vnd.wap.wmlc wmlc; | |
| application/vnd.google-earth.kml+xml kml; | |
| application/vnd.google-earth.kmz kmz; | |
| application/x-7z-compressed 7z; | |
| application/x-cocoa cco; | |
| application/x-java-archive-diff jardiff; | |
| application/x-java-jnlp-file jnlp; | |
| application/x-makeself run; | |
| application/x-perl pl pm; | |
| application/x-pilot prc pdb; | |
| application/x-rar-compressed rar; | |
| application/x-redhat-package-manager rpm; | |
| application/x-sea sea; | |
| application/x-shockwave-flash swf; | |
| application/x-stuffit sit; | |
| application/x-tcl tcl tk; | |
| application/x-x509-ca-cert der pem crt; | |
| application/x-xpinstall xpi; | |
| application/xhtml+xml xhtml; | |
| application/zip zip; | |
| application/octet-stream bin exe dll; | |
| application/octet-stream deb; | |
| application/octet-stream dmg; | |
| application/octet-stream eot; | |
| application/octet-stream iso img; | |
| application/octet-stream msi msp msm; | |
| audio/midi mid midi kar; | |
| audio/mpeg mp3; | |
| audio/ogg ogg; | |
| audio/x-m4a m4a; | |
| audio/x-realaudio ra; | |
| video/3gpp 3gpp 3gp; | |
| video/mp4 mp4; | |
| video/mpeg mpeg mpg; | |
| video/quicktime mov; | |
| video/webm webm; | |
| video/x-flv flv; | |
| video/x-m4v m4v; | |
| video/x-mng mng; | |
| video/x-ms-asf asx asf; | |
| video/x-ms-wmv wmv; | |
| video/x-msvideo avi; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # @link http://nginx.org/en/docs/http/ngx_http_core_module.html#location | |
| # @link http://www.nginx.cn/115.html | |
| server { | |
| listen 80 default deffered; | |
| root /var/www/sample.com/public; | |
| location ^~ /assets/ { | |
| gzip_static on; | |
| expires max; | |
| add_header Cache-Control public; | |
| } | |
| # This block will catch static file requests, such as images, css, js | |
| # The ?: prefix is a 'non-capturing' mark, meaning we do not require | |
| # the pattern to be captured into $1 which should help improve performance | |
| location ~ ^/upload/attachment/.*\.(?:ico|gif|jpe?g|png)$ { | |
| # Some basic cache-control for static files to be sent to the browser | |
| gzip_static on; | |
| expires max; | |
| add_header Pragma public; | |
| add_header Cache-Control "public, must-revalidate, proxy-revalidate"; | |
| } | |
| location ~ ^/upload/attachment { | |
| deny all; | |
| return 404; | |
| } | |
| location ~ ^/upload/ { | |
| gzip_static on; | |
| expires max; | |
| add_header Cache-Control public; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment