我正在尝试用 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
,我也不相信它有能力满足您的要求。
它很容易在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
应该已经足以满足您的需求(也就是说,如果您的ProxyPassReverse
和ProxyPass
指令都具有相同的值)。祝你好运!