VirtualhostOpenBSD:如何使用
OpenBSD:如何使用 relayd
和 httpd
重定向子域請求
情況
我在OpenBSD上創建了以下設置:
所以我讓我的 OpenBSD 伺服器
192.168.1.250
將所有 http-requests 重定向到host-vm
on192.168.30.2
.它
host-vm
本身nginx
用於重定向子域請求,如下所示:## the virtual server for the foo-vm server { listen 80; server_name foo.hermes-technology.de; location / { proxy_pass http://192.168.30.3; } } ## the virtual server for the bar-vm server { listen 80; server_name bar.hermes-technology.de; location / { proxy_pass http://192.168.30.4; } }
- 所以如果使用者發送一個 http-request 到
foo.hermes-technology.de
這個請求會被重定向到host-vm
.- 此後,根據子域的名稱
host-vm
將請求重定向到.foo-vm
問題
我只想依賴 OpenBSD 的基礎包,所以我的問題是:
如何將主機上的子域請求重定向
httpd
到其他本地 IP 地址,僅使用and實現與上述相同的結果relayd
?更多資訊
如果您需要或想要有關此設置的更多資訊來回答我的問題,我會在此處記錄整個配置: blog.hermes-technology.de。
關於中繼,我想類似的東西會達到你想要的:
這定義了您可以在其中找到 foo“服務”的 ip,它基本上是主機列表(pf 風格)
table <fooservice> { 192.168.30.3 } table <barservice> { 192.168.30.4 }
在這裡,您為要在中繼部分中應用的規則定義一個模板,您將請求與標頭 Host 匹配為 foo.hermes-technology.de,在這種情況下,您將轉發到他們說的中繼手冊中表 fooservice 中的主機前向部分需要在中繼部分中匹配的前向指令
http protocol "httpproxy" { pass request quick header "Host" value "foo.hermes-technology.de" \ forward to <fooservice> pass request quick header "Host" value "bar.hermes-technology.de" \ forward to <barservice> block }
這定義了中繼並使用了上面定義的表格和協議。
relay "proxy" { listen on 192.168.30.2 port 80 protocol "httpproxy" forward to <fooservice> port 80 forward to <barservice> port 80 }