[{"data":1,"prerenderedAt":350},["ShallowReactive",2],{"project-21307888":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":73,"maker_in_thread":176,"shape":184,"grid":189,"attempts":310,"same_week":311,"maker_shows":38,"maker_hidden":342,"reader_version":343,"card":344},"21307888","docker-nginx-http3","Nginx Image with HTTP\u002F3 (QUIC), TLS1.3 with 0-RTT, Brotli","title","Show HN: Nginx Image with HTTP\u002F3 (QUIC), TLS1.3 with 0-RTT, Brotli","https:\u002F\u002Fgithub.com\u002FRanadeepPolavarapu\u002Fdocker-nginx-http3","github.com","ranadeep",1571612148,2019,219,63,175,2195,8,"notable","infrastructure","nginx docker image","other",[24,25,26,27,28],"nginx","http\u002F3","quic","docker","brotli","curious",-0.083,{"positive":32,"neutral":33,"mixed":32,"critical":34},2,14,3,21,{"execution":37,"docs":40,"idea":41,"privacy":42,"performance":43},{"positive":38,"critical":39},1,0,{"positive":39,"critical":38},{"positive":38,"critical":39},{"positive":39,"critical":32},{"positive":39,"critical":39},[34,39,34,34,34,39,39,39,34,34,34,34,45,38,34,34,38,39,34,38,34,39,34,39,39,34,39,39,34,45,34,39,39,39,39,39,39,39,39,39],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":54,"openness":70,"stage":71,"team_size":72},{"value":49,"source":50,"evidence":51},"Provides a ready-built nginx image with HTTP\u002F3, TLS 1.3 0-RTT and Brotli support","inferred",[52],{"id":53},"post",[55,58,62],{"value":24,"source":50,"evidence":56},[57],{"id":53},{"value":59,"source":50,"evidence":60},"Docker",[61],{"id":53},{"value":63,"source":64,"evidence":65},"quiche","commenter",[66],{"id":67,"by":68,"text":69},"21309817","LeonM","I've played around with the nginx cloudflare patches and quiche, and it all seems to work just fine in my lab setup. I don't like having to apply third party patches to any…","open_source","beta","unknown",{"praise":74,"objections":89,"requests":119,"questions":142,"alternatives":161},[75,82],{"value":76,"source":64,"evidence":77},"Useful for testing HTTP\u002F3 support in libraries",[78],{"id":79,"by":80,"text":81},"21308568","proverbialbunny","It's not. But if you work on libraries that transfer http data around, this could be used to help test http\u002F3 support.",{"value":83,"source":64,"evidence":84},"Brotli support is useful for production-ready nginx images",[85],{"id":86,"by":87,"text":88},"21310158","jwr","This is great, and I'll be using it for development! However, I've been looking for something a bit more predictable, and yet still modern, for production use. I do not know why…",[90,94,105,112],{"value":91,"source":64,"evidence":92},"Applies third-party patches (Cloudflare nginx patches, quiche) to nginx",[93],{"id":67,"by":68,"text":69},{"value":95,"source":64,"evidence":96},"0-RTT is insecure and vulnerable to replay attacks",[97,101],{"id":98,"by":99,"text":100},"21308600","anfilt","I think 0-RTT is just bad idea security wise.",{"id":102,"by":103,"text":104},"21308250","regecks","Well, \"ssl_early_data\" is opt-in. If you enable it on a virtualhost, then you also need to look at the \"Early-Data\" request header in your backend and make a decision there. e.g.…",{"value":106,"source":64,"evidence":107},"Build not multi-stage and has no layer caching",[108],{"id":109,"by":110,"text":111},"21308528","mnutt","I'm just curious, is there a reason not to use a multi-stage docker build here? There are a ton of build steps, and it seems pretty tedious to have to start from scratch every…",{"value":113,"source":64,"evidence":114},"Experimental nature not clearly flagged for production use",[115],{"id":116,"by":117,"text":118},"21308812","cafxx","I would suggest highlighting the experimental nature of the repo, especially if someone reaches it without going through HN. I've read the catchy \"All built on the bleeding edge.…",[120,128,135],{"value":121,"source":64,"evidence":122},"Use multi-stage builds or layer caching",[123,124],{"id":109,"by":110,"text":111},{"id":125,"by":126,"text":127},"21309480","techntoke","Might I suggest you use Skaffold for this task, which can work with regular Docker as well.",{"value":129,"source":64,"evidence":130},"Move GPG key into a build ARG",[131],{"id":132,"by":133,"text":134},"21310068","darkwater","The ARG approach to everything is really good IMO, it let you customize the final image without having to change the Dockerfile. For example, in the OP Dockerfile, the GPG key at…",{"value":136,"source":64,"evidence":137},"Add benchmarks comparing HTTP\u002F3 with HTTP\u002F2",[138],{"id":139,"by":140,"text":141},"21310156","The_rationalist","Are there any benchmarcks of http3? I would like to see how it compare vs http2 h2 + tcp fast open",[143,150,154],{"value":144,"source":64,"evidence":145},"Is there replay attack protection for 0-RTT?",[146],{"id":147,"by":148,"text":149},"21308182","vasilia","How about 0-RTT replay attack protection?",{"value":151,"source":64,"evidence":152},"Are there benchmarks of HTTP\u002F3 versus HTTP\u002F2?",[153],{"id":139,"by":140,"text":141},{"value":155,"source":64,"evidence":156},"Why is this interesting for non-technical users?",[157],{"id":158,"by":159,"text":160},"21308489","SomeOldThrow","For non technical users why ia this interesting?",[162,169],{"value":163,"source":64,"evidence":164},"ricardbejarano\u002Fnginx image",[165],{"id":166,"by":167,"text":168},"21308470","ricardbejarano","You may find my NGINX image[1] interesting. There's some features you could easily add to yours in order to make it a better overall image. [1]…",{"value":170,"source":64,"evidence":171},"fholzer\u002Fdocker-nginx-brotli and githubcdr fork",[172],{"id":173,"by":174,"text":175},"21310018","zegvold","I did exactly this 3 days ago, forked from fholzer\u002Fdocker-nginx-brotli our work looks very much the same See https:\u002F\u002Fgithub.com\u002Fgithubcdr\u002Fdocker-nginx-brotli",{"comments":32,"answered":38,"key":177},[178,181],{"id":179,"text":180},"21308551","Hi, my main task this weekend was to get it fully working. I will break down the steps over this week to utilize cache layers. I will try to get it done hopefully this week or by…",{"id":182,"text":183},"21308698","I will take a look at it. Thanks for the feedback.",{"commenters":185,"max_depth":186,"maker_replies":32,"first_comment_mins":187,"lifespan_hours":188},36,6,56,30,[190,192,194,195,198,201,205,208,211,214,216,218,220,221,223,225,227,229,232,234,238,240,242,243,245,247,249,251,255,258,261,265,268,271,273,275,279,282,285,288,291,295,297,300,302,304,307],[109,39,34,191,110,39],"project\u002Fneutral\u002Fexecution",[179,39,39,193,11,38],"maker\u002Fneutral\u002Fexecution",[125,39,34,193,126,39],[196,39,34,191,197,39],"21308704","chung1905",[199,39,34,191,200,39],"21309845","londons_explore",[202,39,39,203,204,39],"21310886","commenter\u002Fneutral\u002Fnone","Leace",[206,39,39,203,207,39],"21313694","annymsMthd",[209,39,39,203,210,39],"21318277","chatmasta",[212,39,39,203,213,39],"21310971","pm7",[215,39,34,191,110,39],"21314401",[217,39,34,191,213,39],"21314945",[219,39,34,191,210,39],"21318292",[166,38,34,193,167,39],[182,38,39,222,11,38],"maker\u002Fneutral\u002Fnone",[132,38,45,224,133,39],"project\u002Fpositive\u002Fexecution",[116,32,38,226,117,39],"project\u002Fcritical\u002Fdocs",[173,34,34,228,174,39],"project\u002Fneutral\u002Fidea",[67,230,34,231,68,39],4,"project\u002Fmixed\u002Fexecution",[98,45,38,233,99,39],"project\u002Fcritical\u002Fprivacy",[235,45,39,236,237,39],"21310179","commenter\u002Fneutral\u002Fprivacy","tialaramex",[239,45,39,236,99,39],"21320448",[147,186,34,241,148,39],"project\u002Fneutral\u002Fprivacy",[102,186,38,233,103,39],[244,186,34,241,148,39],"21308584",[246,186,39,203,237,39],"21308751",[248,186,39,203,148,39],"21308882",[86,250,34,231,87,39],7,[252,18,39,253,254,39],"21309348","other\u002Fneutral\u002Fnone","fulafel",[256,18,39,253,257,39],"21309996","sseth",[139,259,34,260,140,39],9,"project\u002Fneutral\u002Fperformance",[262,263,39,253,264,39],"21308695",10,"w-ll",[266,263,39,253,267,39],"21308814","iikoolpp",[269,263,39,253,270,39],"21308859","lbotos",[158,272,34,228,159,39],11,[79,272,45,274,80,39],"project\u002Fpositive\u002Fidea",[276,277,34,228,278,39],"21308160",12,"sdan",[280,277,39,253,281,39],"21308330","xmichael999",[283,277,39,203,284,39],"21308372","viraptor",[286,277,39,203,287,39],"21308430","KirinDave",[289,277,39,253,290,39],"21308456","kizer",[292,293,39,253,294,39],"21308398",13,"djsumdog",[296,293,39,253,284,39],"21308412",[298,293,39,253,299,39],"21308594","CaliforniaKarl",[301,293,39,253,237,39],"21308623",[303,293,39,203,284,39],"21308740",[305,293,39,253,306,39],"21310174","Santosh83",[308,293,39,253,309,39],"21310375","pritambaral",[],[312,317,322,327,332,337],{"id":313,"name":314,"points":315,"category":316},"21282699","Magic Sandbox",180,"learning_science",{"id":318,"name":319,"points":320,"category":321},"21293941","Blackjack Break",132,"games",{"id":323,"name":324,"points":325,"category":326},"21330500","Glaze",120,"creative",{"id":328,"name":329,"points":330,"category":331},"21335366","Trip Planner",110,"dev_tools",{"id":333,"name":334,"points":335,"category":336},"21309518","Eole",106,"languages",{"id":338,"name":339,"points":340,"category":341},"21318787","Immutable Coffee",100,"web_saas",false,"v2",{"id":345,"name":5,"line":6,"ai":342,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":346,"top":18,"kw":347,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":348,"url":9,"mix":349,"praise":76,"objection":91,"sub":21},21307888,-0.08,[24,25,26,27,28],"3033300033335133103130300300353000000000",[32,33,32,34],1794036582177]