OpenBSDに次の設定を作成しました:
したがって、私は192.168.1.250
上のOpenBSDサーバーを使用して、すべてのhttp要求をHost-vm
上の192.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;
}
}
foo.hermes-technology.de
に送信すると、このリクエストはHost-vm
にリダイレクトされます。Host-vm
はサブドメインの名前に基づいてリクエストをfoo-vm
のローカルIPにリダイレクトします。OpenBSDの基本パッケージのみに依存したいので、私の質問は次のとおりです。
ホストマシンで他のローカルIPアドレスにリダイレクトサブドメインリクエストする方法はありますか。httpd
と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と照合します。その場合、ホストに転送されます リレーされたマニュアル 彼らは、フォワードセクションがリレーセクションで一致するフォワード命令を必要としていると言います
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
}