【发布时间】:2019-12-15 14:39:13
【问题描述】:
使用 nginx 中的 stream 块,TCP 代理在 nginx 中不可用。通过 SSL 直通配置,它可以将客户端证书一直传递到后端服务进行验证。
我想将此 TCP 连接从带有所有证书的 nginx 重定向到同一服务的 https 端点
更新问题: 因此,http://demo.local 的请求即将到来,需要将其重定向到 https://demo.local,然后在重定向 https 请求后进行 SSL 直通
----> Nginx 配置
http {
server {
listen 80;
server_name demo.local;
location / {
return 302 https://demo.local$request_uri
}
}
}
stream {
# main log compatible format
log_format stream '$remote_addr - - [$time_local] "$ssl_preread_server_name -> $name ($protocol)" '
'$status $bytes_sent "" "" "" ';
map $ssl_preread_server_name $name {
demo.local pt-up-demo.local;
}
upstream pt-up-demo.local {
server 127.0.0.1:5000;
}
upstream proxy-up-demo.local {
server x.x.x.x:8080;
}
server {
listen 5000 proxy_protocol;
proxy_pass proxy-up-demo.local'
}
server {
listen 443;
proxy_pass $name;
proxy_protocol on;
ssl_preread on;
access_log /dev/stdout stream;
}
}```
【问题讨论】:
标签: ssl nginx nginx-config