ä¸æã»ã©åã« 社内Gyazoの画像をAmazon S3に逃がしてスケーラブルに運用する - 酒日記 はてな支店 ã¨ããã¨ã³ããªãæ¸ãã¦ä¸æ®µè½ã¨æãããããã®ãµã¼ãã«ã¯ç¤¾å åãã® nopaste ã¢ããªãåå± ãã¦ãããæ°ãã¤ãã°ããã¹ããã¡ã¤ã«ã10GB以ä¸ç©ãã£ã¦ããã®ã§ããâ¦
社å nopaste ã¢ããªã®å®è£ ã¯DBãªã©ã使ç¨ããåã«ããã¹ããã¡ã¤ã«ãä¿åãã¦ããã ãã ã£ãã®ã§ããã¡ã¤ã«ã gzip ã㦠nginx ã® http_gzip_static_module ã使ã£ã¦é ä¿¡ããããã£ã¹ã¯ãç¯ç´ã§ãã¦ããããããªãããã¨æãã¤ããã®ã§ãããAccept-Encoding: gzip ã§ãªãã¯ã©ã¤ã¢ã³ãããã¢ã¯ã»ã¹ãã㨠404 ã«ãªã£ã¦ãã¾ãã®ã§å§ç¸®åã®ãã¡ã¤ã«ãæ¶ããªãã
ä»æãã©ã¦ã¶ã§å¯¾å¿ãã¦ããªããã®ã¯å°ãªãã¨ã¯ãããcurlã¨ãå種è¨èªã®HTTPã¯ã©ã¤ã¢ã³ãã§ã¢ã¯ã»ã¹ããå ´åãããã®ã§ãgzip é対å¿ã¯ã©ã¤ã¢ã³ãã«ã¯å±éããå 容ãè¿ãããã¨ããã§ãã
ãã ngx_http_gunzip_module ã§ã§ããããã¨ãããã¨ã§ãããªãã¾ããã
gzip_static always ãæå®ãããããnginx version 1.3.6 以éãå¿
è¦ã§ãã
ã¾ããgzip_static 㨠gunzip ã¢ã¸ã¥ã¼ã«ã¯ããã©ã«ãã§ã¯çµã¿è¾¼ã¾ããªããããbuildæã« --with-http_gunzip_module --with-http_gzip_static_module ãæå®ãã¦æå¹ã«ããå¿
è¦ãããã¾ãã
location ~ ^/nopaste/([0-9a-f]+)\.txt { gunzip on; gzip_static always; }
ããã§åä½ã¨ãã¦ã¯
- gzip_static always ã«ããã¯ã©ã¤ã¢ã³ãã® gzip 対å¿é対å¿ãæ§ããªãã« .gz ãã¡ã¤ã«ã®å 容ãé ä¿¡
- gunzip on ã«ãããã¯ã©ã¤ã¢ã³ãã gzip é対å¿ã§ããã°ãã®å ´ã§å±é
ã¨ãªããã©ã¡ãã®ã¯ã©ã¤ã¢ã³ãã«å¯¾ãã¦ã .gz ã§ä¿åãããå 容ãéä¿¡ãããã¨ãå¯è½ã«ãªãã¾ããã