localhost:3000
Nginxを使用してsubdomain.example.comのTCPをモジュールにリダイレクトするためのリバースプロキシを設定しようとしていますssl_preread_server_name
。
ホストはtest.localhost
テスト目的で定義されています/etc/hosts/
。
私のもの/etc/nginx/nginx.conf
:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
stream {
map $ssl_preread_server_name $name {
test.localhost test;
}
upstream test {
server localhost:3000;
}
server {
listen 2600;
proxy_pass $name;
#proxy_protocol on;
ssl_preread on;
}
}
Webアプリを自分で試してみると、次のようになりますcurl
。
$ curl localhost:3000
Hello World!
しかし、プロキシを試してみると、次のようになります。
$ curl -vvv test.localhost:2600
* Trying 127.0.0.1:2600...
* Connected to test.localhost (127.0.0.1) port 2600 (#0)
> GET / HTTP/1.1
> Host: test.localhost:2600
> User-Agent: curl/7.74.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host test.localhost left intact
curl: (52) Empty reply from server
OKに変更しますproxy_pass test;
が、複数のサブドメインがTCPを別のローカルポートにストリーミングしたいと思います。
答え1
焦点はSSLにあります。
たぶんあなたは試す必要があります
curl https://test.localhost:2600