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;
}
}
웹 앱을 직접 사용해 보면 다음과 같습니다 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