TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Introducing OpenBSD's new httpd [pdf]

197 pointsby fcambusabout 10 years ago

20 comments

xiaqabout 10 years ago
So... Apache was removed from base on Mar 14 2014 in favor of nginx, and nginx on Aug 27 2014 in favor of OpenBSD httpd.<p>For sysadmins who closely follow the &quot;recommended&quot; way, having to migrate the configurations of the http server twice within half a year must have been a frustrating experience.<p>Also, I wonder what &quot;removal from base&quot; means exactly - can you still install them (the OpenBSD-patched versions) from the ports collection or something like that?
评论 #9202444 未加载
评论 #9202234 未加载
评论 #9204510 未加载
jacquesmabout 10 years ago
I&#x27;ve been going through the code for the last half hour and I really hope this isn&#x27;t representative of what the OpenBSD group considers to be defensive C programming.<p>Stack allocated buffers, questionable logic and a generally terrible style as well as a complete lack of comments.<p>Don&#x27;t take my word for it, see for yourself:<p><a href="https://github.com/reyk/httpd/blob/master/httpd/server.c" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;reyk&#x2F;httpd&#x2F;blob&#x2F;master&#x2F;httpd&#x2F;server.c</a><p>The &quot;new&quot; is a bit off too, the copyright runs 2006-2015.
评论 #9202325 未加载
评论 #9202164 未加载
评论 #9202179 未加载
评论 #9202763 未加载
评论 #9202259 未加载
评论 #9202175 未加载
评论 #9204529 未加载
marc_omorainabout 10 years ago
Is there a technical reason why you would implement HTTPS in a HTTP server? If you ran a separate process on port 443 to terminate SSL connections, and then proxy that request to a HTTP server running locally, there would be better separation of concerns.<p>For example, this setup would mean that a security flaw in the HTTP server that allowed a user to read memory would not be able to read any private keys used in the HTTPS server.<p>I guess some downsides would be some extra latency while the request is proxied, and some extra memory overhead for the second process.<p>I&#x27;m interested in anyones thoughts on this.
评论 #9202721 未加载
评论 #9204127 未加载
评论 #9202685 未加载
评论 #9202932 未加载
评论 #9203173 未加载
评论 #9203677 未加载
评论 #9204050 未加载
zx2c4about 10 years ago
I love these guys:<p><a href="https://github.com/reyk/httpd/blob/master/httpd/server_http.c#L802-L804" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;reyk&#x2F;httpd&#x2F;blob&#x2F;master&#x2F;httpd&#x2F;server_http....</a>
评论 #9203507 未加载
评论 #9204518 未加载
评论 #9203251 未加载
detaroabout 10 years ago
Supports TLS using LibreSSL, serves static files and FastCGI.<p><a href="https://github.com/reyk/httpd/issues?q=label%3Afeaturitis+is%3Aclosed" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;reyk&#x2F;httpd&#x2F;issues?q=label%3Afeaturitis+is...</a><p>featuritis tag in die bugtracker for currently denied features. Clearly aiming for as simple as possible while being useful.
评论 #9203009 未加载
评论 #9202358 未加载
评论 #9202142 未加载
fcambusabout 10 years ago
Slides are available here : <a href="http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf" rel="nofollow">http:&#x2F;&#x2F;www.openbsd.org&#x2F;papers&#x2F;httpd-slides-asiabsdcon2015.pd...</a>
ezequiel-garzonabout 10 years ago
If I may take this opportunity... Does anybody know what I&#x27;m supposed to put in &#x2F;etc&#x2F;ssl&#x2F;server.crt for SSL encryption? I have concatenated all six possible permutations of my own certificate ssl.crt, the intermediate certificate sub.class1.server.ca.pem and the root certificate ca.pem, but this gives me the error <i>The certificate is not trusted because no issuer chain was provided. (Error code: sec_error_unknown_issuer)</i> (my Ubuntu Chrome gives me a green lock, though). Feel free to visit my blank site <a href="https://ezequiel-garzon.net" rel="nofollow">https:&#x2F;&#x2F;ezequiel-garzon.net</a><p>Thanks!
评论 #9202555 未加载
评论 #9202275 未加载
评论 #9202566 未加载
andorabout 10 years ago
<i>FastCGI: The protocol provides the single and fast interface to serve dynamic content</i><p>That&#x27;s a bad choice in my opinion. Without reverse proxy functionality httpd can&#x27;t match the flexibility of nginx.
评论 #9202411 未加载
评论 #9202272 未加载
评论 #9202183 未加载
评论 #9202318 未加载
评论 #9204555 未加载
captaintodabout 10 years ago
Surprised that nobody has mentioned ashd yet: <a href="http://www.dolda2000.com/~fredrik/ashd/" rel="nofollow">http:&#x2F;&#x2F;www.dolda2000.com&#x2F;~fredrik&#x2F;ashd&#x2F;</a>
jalfresiabout 10 years ago
Does anyone know if the FastCGI implementation is complete i.e. it supports FastCGI processes in all three roles; Responder, Authorizer and Filter? I&#x27;ve always wanted to use FastCGI more but most implementations (in Apache and Nginx at least) only support some of those roles (or require work arounds using server specific features; i.e. apache filters rather than FastCGI filters)
评论 #9202455 未加载
davidgerardabout 10 years ago
I read the config file format and I fell in love.<p>I really hope this gets the portable treatment.
jnazarioabout 10 years ago
[update - i read the back story elsewhere and the reason is less boneheaded than i had assumed. still, i think the community needs to focus on higher priority needs and gaps]<p>this is the sort of thing that makes me happy i&#x27;m no longer involved in the OpenBSD world. httpd &amp; previously smtpd are two replacements that (in my opinion) have little additive value beyond existing, community-adopted solutions (e.g. nginx and postfix), diluting effort where it is needed.<p>does the world need a new httpd? maybe. but the world needs other replacement software to be done first because it&#x27;ll have a greater impact.<p>for example, OpenBSD could invest time and effort in maturing static code analyzers to assist in code audits (especially of ports).<p>i suspect this new httpd was done less because it was needed and more because it could be done. that&#x27;s the attitude i disagree with.
评论 #9203751 未加载
评论 #9202896 未加载
评论 #9203180 未加载
评论 #9203111 未加载
评论 #9202556 未加载
joostersabout 10 years ago
OpenBSD seems to have caught a bad case of the &#x27;not invented here&#x27; sickness. If they didn&#x27;t like where nginx was going, why not just fork it and have a working web server with a known codebase? The forks would diverge but they could still grab fixes from nginx whenever they wanted to.
评论 #9202522 未加载
评论 #9202328 未加载
cturnerabout 10 years ago
What would be the elegant way to implement websockets on the new openbsd arrangement? Would it be to use relayd instead of httpd? Or is websocketd suitable for the openbsd base?
评论 #9204904 未加载
floatbothabout 10 years ago
Why do they even have an httpd in base? They like to say they&#x27;re smaller and simpler than FreeBSD, but FreeBSD doesn&#x27;t include a web server in base!
评论 #9202473 未加载
评论 #9202300 未加载
评论 #9204459 未加载
dyoderabout 10 years ago
Did OpenBSD just standardize on an HTTP server they wrote in 2 weeks, has no tests, doesn&#x27;t fully implement the spec…and then brag about it?
评论 #9205230 未加载
mdekkersabout 10 years ago
any performance benchmarks in the wild?
kymywhoabout 10 years ago
Https authentication support for Subversion could be the killer feature.
vacriabout 10 years ago
Why use a name that&#x27;s already in use as a general descriptor? At least the other httpds have names that can be used to differentiate them: <a href="http://en.wikipedia.org/wiki/Httpd" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Httpd</a>
评论 #9205018 未加载
评论 #9219923 未加载
评论 #9203754 未加载
ameliusabout 10 years ago
I&#x27;m amazed we still use configuration files like that. Why not have some capable programming language (python, javascript) handle the configuration? This would let one more naturally describe things, and will eventually reduce the possibility of obscure configuration commands that do one very specific thing, and hence lead to frustration when the user needs something slightly different. Using a programming language, one could even configure using callbacks, etc. and is much more flexible.
评论 #9202975 未加载
评论 #9208703 未加载
评论 #9202769 未加载