OpenBSD 5.8 中的 HTTP 代理(取代 Apache ProxyPass)

OpenBSD 5.8 中的 HTTP 代理(取代 Apache ProxyPass)

我正在尝试用 OpenBSDs httpd 替换 Apache,但不知道如何处理我的 ProxyPass 语句。

在 apachesconf 中它看起来像这样

 ProxyPass /someurl http://192.168.123.123/someotherurl
 ProxyPassReverse /someurl http://192.168.123.123/someotherurl
  • 我想我应该为此使用中继,但是如何进行 URL 重写呢?
  • 我是否可以将中继设置为侦听端口 80 并将某些内容转发到不同的内部计算机,并将其余内容转发到本地主机上的 httpd?

答案1

好问题! OpenBSD新写的httpd不是一个功能齐全的网络服务器,并且也无意成为。至于relayd,它是 的前身httpd,我也不相信它有能力满足您的要求。

最好的通用替代品阿帕奇没有一个是静止的nginx

它很容易在OpenBSD 端口树为www/nginx,并且可以轻松地作为预编译包安装pkg_add(1) — doas pkg_add nginx.

安装 nginx 后,您将使用proxy_pass指令,它可能看起来像这样:

location /someurl {
    proxy_pass http://192.168.123.123/someotherurl; 
}

至于ProxyPassReverse,nginx有一个更合适的名字——proxy_redirect,并且 的默认值default应该已经足以满足您的需求(也就是说,如果您的ProxyPassReverseProxyPass指令都具有相同的值)。祝你好运!

相关内容