Webãµã¼ãã¹ãããæãã«ããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ããã³ã³ãã¹ã ISUCON7äºé¸1æ¥ç®ã« @netmarkjp, @ishikawa84g, @matsuu ã§ãã¼ã ãããã¦ãã«ã¨ãã¦åå ãã¾ãããæçµã¹ã³ã¢ã¯ 205148 ã§ããã èå¯ netmarkjp ä¾å¹´éãã®å½¹å²åæ ããã£ããæ©è½ãã¦æ°æã¡ããã§ãã è¦ç¹ãå¤ãããä¼æ©ã¨ã£ãããããæãã«ã§ãã å»å¹´ã®ä½ãã§ããªãã£ãç¡å¿µã¯å¤å°ä¾é¤ã§ãã ç·´ç¿ããã¡ãã¨æ´»ããã ãã³ããå®å®ãã¦ã¦ãããããã£ã BGMã¯æ±äº¬ã¹ã«ãã©ãã¤ã¹ãªã¼ã±ã¹ãã©ã§ãã matsuu ãã©ãã£ãã¯ãããã«ããã¯ã«ãªãåé¡ããªããªã解決ã§ããã«ããããCache-Controlã«publicãå ¥ãããã¨ãæãã¤ãã 304å¿çãå®å®ãã¦çºçããªãçç±ãçæãããç»åã®æ´æ°æ¥æããµã¼ãæ¯ã«ç°ãªãããã§ãããã¨ã«æ°ã¥ããèªåãè¤ãã¦ãããã tcpdump
$request_id Nginx 1.11.0 以éã«éãã¾ããããªã¯ã¨ã¹ãæ¯ã«çºçªãããIDã®å¤æ°ã¨ã㦠$request_id ã追å ãããããã§ãã http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_id ãã®å¤æ°ãå©ç¨ãããã¨ã«ãããNginxã³ã¢ã ãã§ãµã¼ãã¹éã®ãã¬ã¼ã¹ãç°¡åã«è¡ããã¨ãå¯è½ã«ãªãã¾ãã ã·ã³ãã«ãªä¾ 以ä¸ã®ããã«ã$request_idããã°ã«å«ããã ãã§ãªã¯ã¨ã¹ãæ¯ã®IDãè¨é²ã§ãã¾ãã http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "
Mozilla SSL Configuration Generator Redirecting to the updated SSL Configuration Generatorâ¦
ã¯ããã¾ãã¦ãæè¡åºç¤é¨ã®ç¸å(kaihar4)ã§ãï¼ ä»åã¯ãã¢ããªã±ã¼ã·ã§ã³ã®ã¯ã©ã¦ããµã¼ãã¹ã¸ã®ç§»è¡ã®ä¸ç°ã§ã Amazon S3ããåå¾ããç»åURLãå«ããã¡ã¤ã«ãå ã«ããã®URLã®å¤é¨ç»åãåå¾ãã¦è¿ãæ©è½ ãmrubyã§æ¸ãç´ãã¦AWSã«ç§»è¡ãã話ããã¦ããããã¨æãã¾ãã ãã®æ©è½ã¯å ã ã¢ããªã·ãã¯ãªã¢ããªã±ã¼ã·ã§ã³ã®ä¸æ©è½ã¨ãã¦åãã¦ãããã®ã§ããããåãåºãã¦AWSã«ç§»è¡ããã¨ããã®ãä»åç§ã«ä¸ããããããã·ã§ã³ã§ããã ãã®ã¢ããªã±ã¼ã·ã§ã³ã¯æ´å²ãé·ãããã®éã»ã¨ãã©ã¡ã³ããã³ã¹ããã¦ãã¾ããã§ããã ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã¯å¤ãPHPã®ãã¼ã¸ã§ã³ã4ç³»ããããã£ã¦ãã®ã¾ã¾æã£ã¦ããã¨ããé¸æè¢ã¯ãªããAWSä¸ã«æ°è¦ã«ã¤ã³ã¹ã¿ã³ã¹ãæ§ç¯ãããã¨ã«ãªãã¾ãã å¼ç¤¾ã«ã¯APIé¨åãPHPããRubyã«ç§»è¡ããæ¹éãããã¨ãããã¨ããããAmazon Linuxä¸ã«Ruby
On 18 July 2016, a vulnerability named âHTTPoxyâ was announced, affecting some serverâside web applications that run in CGI or CGIâlike environments, such as some FastCGI configurations. Languages known to be affected so far include PHP, Python, and Go. A number of CVEs have been assigned, covering specific languages and CGI implementations: Apache HTTP Server (CVE-2016-5387)Apache Tomcat (CVE-201
ãã®è¨äºã¯ãmod_mruby ngx_mruby Advent Calendar 1æ¥ç®ã®è¨äºã«ãªãã¾ãã ç¾å¨æ¢ã«13æ¥åãç»é²ããã¦ããé常ã«æ¥½ãã¿ã§ããã¨ãã£ã¦ããã¾ã 12æ¥å空ãã¦ãã¾ãã®ã§ä»ããªãåéä¸ã§ãããã¾ãï¼æ¯éæ¯éãç»é²ãï¼ ä»æ¥ã¯1æ¥ç®ãªã®ã§ãmod_mrubyã¨ngx_mrubyã®ææ°ã®ã¢ã¼ããã¯ãã£ã¨ãªãã¡ã¬ã³ã¹å ¬éã¨ãããã¨ã§ã2014å¹´11æã«æ å ±å¦çå¦ä¼ã®ã¸ã£ã¼ãã«ã«æ¡é²ããå ¬éãããmod_mrubyã®å ã«ãªãã¢ã¼ããã¯ãã£ã®è«æãä¸è¨ã®ãªã³ã¯ããPDFã§ç¡æã§å ¬éãã¾ããã©ããçããã¿ãã¬ããã«PDFãä¿åãããå°å·ããããã¦èªãã§ã¿ã¦ãã ãããè¬è¾ã«ã¯é¦´æã¿ã®æ¹ã ã®ãååãæ¸ããã¦ããã ãã¾ããã ææ°ã®ã¢ã¼ããã¯ãã£è«æ è«æ [pdfãã¦ã³ãã¼ã] mod_mrubyï¼ã¹ã¯ãªããè¨èªã§é«éãã¤çã¡ã¢ãªã«æ¡å¼µå¯è½ãªWebãµã¼ãã®æ©è½æ¡å¼µæ¯æ´æ©æ§ ã¹
ã¯ããã« ã©ãããGMOããã ä¹ ç±³ã§ãã ããããï¼æåããï¼éç¨å½¢æ ã®è©±ã¯é¢ç½ããªãã®ã§ãããããã®ã¯ããã®æ¨æ¶ã¯ä½ã«ããããæ©ãã§ãã¾ãã ãã¦ãä»åã¯ä»¥ä¸ã§ä½ã£ã ngx_mruby ã®æ§è½ã®æ¤è¨¼ããããã¨æãã¾ãã ngx_mrubyã§memcachedãmysqldã®ã³ãã¯ã·ã§ã³ã使ãã¾ãã æ§è½æ¤è¨¼ã®ç®ç ngx_mrubyãããªã¯ã¨ã¹ãæ¯ã«memcachedã«æ¥ç¶ããå ´åã¨ã mruby-userdata ã§ã³ãã¯ã·ã§ã³ã使ãåãå ´åã¨ã§ã©ã®ç¨åº¦ã®æ§è½å·®ãåºãã®ãã確èªãããã åæ å®è¡ç°å¢: MacBook Pro (Retina 13-inchãEarly 2015) CPU 2.7 GHz Intel Core i5 RAM 16 GB 1867 MHz DDR3 Virtual Boxä¸ã®ä»®æ³ãã·ã³ ä»åã¯æ¸¬å®çµæã®å¤ãã®ãã®ã§ã¯ãªããããããã®æ§è½å·®ãæ¯è¼ã
ä»å¹´ã®3æããããããã£ã¨æ¶ã ã¨ãã¦ãã¦ããªããªãæãåºããªãã£ãã¢ã¤ãã¢ããã£ã¨å®ç¾ã§ãã¾ããã mod_mrubyã§ãããããã¨ã§ããã¼ï¼â k1LoW (@k1LoW) June 16, 2016 ï¼è©¦è¡é¯èª¤ãã¦æ¸ãã¦ã¿ãããçµæãã£ãæ°è¡ã¨ãããããï¼ Auto Scalingã§ã¯ãªãã¦Auto Cachingã¨ããèãæ¹ AWSã§ã¯Auto Scalingã¨ããããµã¼ãã®è² è·ã®å¤åãªã©ã«ãã£ã¦EC2ã¤ã³ã¹ã¿ã³ã¹ãã¹ã±ã¼ã«ãã便å©ãªæ©è½ãããã¾ãã ãã大æµã¯ã¯ã©ã¦ãç°å¢ã§ãªãã¨å®¹æã«ã¯å®ç¾ã§ãã¾ããã ä¾ãã°ãã¯ã©ã¦ãã§ã¯ãªã ãµã¼ããªã½ã¼ã¹ã¯å¢ãããªãã æ®æ®µã¯ãã£ãã·ã¥ã¯ãã¦ã»ãããªãã³ã³ãã³ãã ãã ãã¢ã¯ã»ã¹ãå¤ããªãã¨ãã§ä½ãããè² è·ãé«ããªã£ãæã«ã¯ãä»æ¹ãªãããã£ãã·ã¥ã使ã£ã¦ãè¯ããè½ã¡ãããã¯ãã·ã è² è·ãæ»ã£ãããã£ãã·ã¥ã使ããªãããã«ãã¦æ¬²ããã ã¨ããç¶
ããã«ã¡ã¯ãåå· ( @rrreeeyyy ) ã§ããä»æãªã¹ã¹ã¡ã®ã¢ãã¡ã¯ãªã¼ãã§ãã Nginx ã¯è¨å®ãã¡ã¤ã«ã®è¨è¿°åãé«ãã大å¤ä¾¿å©ãª Web ãµã¼ãã§ãã 便å©ãªåé¢ãè¨å®ãã¡ã¤ã«ã®è¤éåããè¨å®ã«ä¾ã£ã¦ã¯æå³ããªãæåãå¼ãèµ·ããã¦ãã¾ããã¨ãããã¾ãã ããã§æ¬ç¨¿ã§ã¯ docker 並ã³ã« infrataster ã使ç¨ãã Nginx ã®æåããã¹ããããã¨ã«ãã£ã¦ãå®å ¨ã« Nginx ã®è¨å®ãè¨è¿°ããæ¹æ³ã«ã¤ãã¦ç´¹ä»ãã¾ãã ãã¹ã対象㮠Nginx ã®ä»æ§ ä»åã¯ä¾ã¨ãã¦ã次ã®ãããªä»æ§ã® Nginx ã®ãã¹ãã«ã¤ãã¦èãã¾ãã ãããã¯ã¼ã¯å¸¯ã¯ 10.0.0.0/16 ã使ç¨ãã¦ãã Nginx ã®å段ã¨ã㦠L7 ãã¼ããã©ã³ãµãåå¨ãã¦ãã L7 ãã¼ããã©ã³ãµã https ãçµç«¯ãã¦ãã Nginx èªä½ã¯ 80 çªãã¼ã㨠8080 çªãã¼ãã«ã¦å¾ ã¡åãã¦ã
OpenRestyã¯nginxã®ã»ãã«ngx_luaãã¯ããã¨ããCã§æ¸ãããå種ãµã¼ããã¼ãã£ã¢ã¸ã¥ã¼ã«ã¨ngx_luaã®APIãå©ç¨ããrestyã¢ã¸ã¥ã¼ã«ãããã¦Lua/LuaJITã§æ§æããã¦ãã¾ãã OpenRestyã«å«ã¾ãã¦ããnginxèªä½ã¯æ¬å®¶ã®nginxã¨åºæ¬åããªã®ã§ãå¥ã«OpenRestyãå©ç¨ããªãã¦ãèªåã§ngx_luaãçµã¿è¾¼ãã ãããµã¼ãä¸ã«restyã¢ã¸ã¥ã¼ã«ãé å¸ãããã¨ã§ä¼¼ããããªç°å¢ãæ§ç¯ãããã¨ã¯å¯è½ã§ãããOpenRestyã§ããã°ä¸»è¦ãªã¢ã¸ã¥ã¼ã«ãã©ã¤ãã©ãªã./configureãmakeãmake installã®ä¸é£ã®æµãã§ãã¹ã¦ã´ã½ãã¨ã¤ã³ã¹ãã¼ã«ããã¾ãããOpenRestyã®configureã¹ã¯ãªããã¯nginxã®configureã¹ã¯ãªãããç¶æ¿ãããã®ãªã®ã§nginxã®configureãªãã·ã§ã³ãã»ã¼ãã®ã¾ã¾å©ç¨ãããã¨ãã§
第5åãããããã¯ã«ã³ãã¡ã¬ã³ã¹ãã¤ã³ãã©ã¨ã³ã¸ãã¢å¤§ç¹éã ã§çºè¡¨ããè³æã§ã http://pepabo.connpass.com/event/30348/
Chartbeat measures and monetizes attention on the web. They were experiencing slow load times and TCP retransmissions due to default system settings. Tuning various TCP, NGINX and EC2 ELB settings like increasing buffers, disabling Nagle's algorithm, and enabling HTTP keep-alive resolved the issues and improved performance. These included tuning settings like net.ipv4.tcp_max_syn_backlog, net.core
ã¿ã¤ãã«ã®éããªã®ã§ãããã¤ãå æ¥Homebrewã§ngx_mrubyãã¤ã³ã¹ãã¼ã«ã§ããããã«ãªãã¾ããã github.com ãããããªãã»ã©è¶ 便å©ã¨æã£ã¦æå ã§è©¦ãã¨ãmrbgemã§ä½¿ãã©ã¤ãã©ãªã®ãªã³ã¯ã¾ããã§ã³ã±ã¦ãã¦ãã«ãã§ãã¾ããã§ããã ããã§ãå¿ æ®ºã®ãHi, I'm ngx_mruby author.ãPRã«ãã£ã¦ãã°ä¿®æ£ãæéã§ãã¼ã¸ãã¦ããã ããç¡äºãã«ãã§ããããã«ãªãã¾ããäºãããã«ãç¥ãããã¾ãã github.com å®éãngx_mrubyãã¡ãã£ã¨æ¤è¨¼ãã¦ã¿ããããªãã¨ããç¨éã§ãã¡ããã¡ã便å©ã§ã以ä¸ã®ããã«ããã ãã§ãã£ã¨ããéã«Macä¸ã§ngx_mrubyãçµã¿è¾¼ãã nginxãåãããã«ãªãã¾ãã brew tap homebrew/nginx brew install nginx-full --with-mruby-module ã¾ãã¯ãææ°ã®
Site Reliability Engineering Teamï¼é称SREï¼ã®@cubicdaiyaã§ããæè¿ãã¼ã åãå¤ããã¾ããã ä»åã¯Consulãå©ç¨ãã¦è¤æ°å°ã®nginxãµã¼ãã®TLSã»ãã·ã§ã³ãã±ãããèªåæ´æ°ããä»çµã¿ã«ã¤ãã¦ç´¹ä»ãã¾ãã TLSã»ãã·ã§ã³ãã±ããã¯ç°¡åã«è¨ãã¨TLSã®ã»ãã·ã§ã³æ å ±ãæå·åãã¦ã¯ã©ã¤ã¢ã³ãå´ã«ä¿åãããã¨ã§ HTTPSéä¿¡æã«è¡ãããTLSãã³ãã·ã§ã¤ã¯ã®æé ãçç¥ãã¦ãããã¯ã¼ã¯ã¬ã¤ãã³ã·ãåæ¸ããããã®ä»çµã¿ã§ãã(詳細ã«ã¤ãã¦ã¯ä¸çªä¸ã®åèæ å ±ã御覧ãã ãã) ä¼¼ããããªä»çµã¿ã¨ãã¦TLSã»ãã·ã§ã³ãã£ãã·ã¥ãããã¾ããããã¡ãã¯ã»ãã·ã§ã³æ å ±ããµã¼ãå´ã«ä¿åãã¾ãã HTTPSéä¿¡ã§ã¯TCPã®ãã³ãã·ã§ã¤ã¯ã«å ãã¦TLSã®ãã³ãã·ã§ã¤ã¯ãå¿ è¦ã«ãªãã®ã§HTTPéä¿¡ããããããã¯ã¼ã¯ã®ã¬ã¤ãã³ã·ã大ãããªãã¾ããã ãããã®ä»çµã¿
Mitigating DDoS Attacks nginx + ngx_mruby + http-dos-detector https://github.com/matsumoto-r/http-dos-detector Detect Huge Number of HTTP Requests on Apache and nginx using mruby code. http-dos-detector use same Ruby code between Apache(mod_mruby) and nginx(ngx_mruby). It seems, programmable DDoS firewall by mruby on nginx. This solution provides regulating the incoming HTTP/S traffic and controll
çµç·¯ WebSocketã使ã£ãã¢ããªã±ã¼ã·ã§ã³ãä½ã£ããããã¼ãã80ãã使ããªã nginxã§ã©ã£ã¡ã80ã«æµããã ãã¤ã³ã / ã¯ã¾ãæ WebSocketã®ãããã·ã«ã¯Upgradeããã(HTTP 1.1)ã¸ã®å¯¾å¿ãå¿ è¦ Upgradeãããã¸ã®å¯¾å¿ã¯ nginx v1.3.13以é åè: WebSocket proxying å³ããæ¡ä»¶ããå ã«æ¸ã ããã©ã«ãã ã¨30ç§éä¿¡ããªãã¨åæãããï¼ï¼ï¼ nginxã§ãªãã¼ã¹ãããã·ãã¦ããã¨ãã ãä¸å®æéã§æ¥ç¶ãåããã®ã§ä½ãã¨æãã°ã æ®éã®HTTPã®éä¿¡ã¨åæ§ã«30ç§ï¼ã ã£ãã¯ãï¼éä¿¡ããªãã£ãå ´åã¯ã¿ã¤ã ã¢ã¦ãã£ã¦ãã¨ã§èªåã§ã³ãã¯ã·ã§ã³ãåã£ã¦ããã¦ããã¿ããã ping/pongã30s以å ã«ããã°ãããã ãããã©ãã¨ãããã5åã«è¨å®ã config server { listen *:80 default_serv
ApacheãNginxã¨opensslã®ãã¼ã¸ã§ã³ãæå®ããã¨ããããã®æå·ã¹ã¤ã¼ããªã©ãSSLè¨å®ãã¡ã¤ã«ã表示ãã¦ãããMozillaã®ãµã¤ããããã¾ãã https://mozilla.github.io/server-side-tls/ssl-config-generator/ ããã使ãã°å®å ¨ãªæå·ã¹ã¤ã¼ãã®ã¿ã使ã£ã¦ãè¨å®ãªã©ãç°¡åã«çæããã¾ãã®ã§ããã®éãã«æå®ããã°è¯ãã§ãã Apacheã®å ´åã¯ããã©ã«ãã§ã¯æå·ã¹ã¤ã¼ãè¨å®ã®è¨è¿°ã¯ãªãã£ãã¨æãã¾ãããä¸è¨ã®3ã¤ã¯è¡¨ç¤ºéãã«æå®ãã¦ããã®ãè¯ããã¨æãã¾ãã SSLProtocol SSLCipherSuite SSLHonorCipherOrder Oldãé¸æããã¨ãå¤ããã©ã¦ã¶ã«ã対å¿ãã¦ãæå·ã¹ã¤ã¼ããå«ãã¾ãããã æå·å¼·åº¦ãå¼±ããã®ãå«ã¾ãããããµã¤ãã®ã¢ã¯ã»ã¹å¾åãã¿ã¦å¤ããã©ã¦ã¶ã®ã¢ã¯ã»ã¹ãç¡ãã®ã§ãã
Nginxã§ã¯, serverã³ã³ããã¹ãã®locationã³ã³ããã¹ãã«ããã¦, proxy_passãã£ã¬ã¯ãã£ããå©ç¨ãããã¨ã§ä»»æã®ãã¹ãã«ã¢ã¯ã»ã¹ã転éãããã¨ãã§ãã¾ã. ä¾ãã°, serverã³ã³ããã¹ãã«ããã¦, location / { proxy_pass http://127.0.0.1:5000; } ã¿ããã«æ¸ãã¦ãããã°, localhostã®5000çªãã¼ãã«ã¢ã¯ã»ã¹ã転éãããã¨ãåºæ¥ã¾ã. Webãµã¼ãã¹ã§ã¯, ããããæãã§Nginxã443çª(HTTPS)ã80çªãã¼ã(HTTP)ã§åããã¢ã¯ã»ã¹ã5000çªãã¼ããªã©ã§åãã¦ããWebã¢ããªã±ã¼ã·ã§ã³ã«è»¢éãã¦ãã訳ã§ã. ã§, ãã®proxy_passãã£ã¬ã¯ãã£ãã¯, IPããã®ã¾ã¾æ¸ãã®ã§ã¯ãªã, 次ã®ããã«ãã¡ã¤ã³ãæ¸ããã¨ãã§ãã¾ã. location / { proxy_pass http
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}