У меня проблема с nginx. Я написал собственный бэкэнд с портом 8888. А бэкэнд порта 9999 - это http-сервер.
Я хочу направить запрос на различие бэкэндов на базе tls termination origin pro tocol в Nginx, как и Haproxy.
Https (после завершения tls это http) запрос маршрута к httpBackend, в Haproxy я мог бы использовать use_backend **, если HTTP
, затем запросить https: // aa.aa он возвращает веб-страницу.
Другие запросы TLS направляются к customBackend, в Haproxy я мог бы использовать код default_backend **
.
Итак, как я мог делать то же самое в Nginx, просто как Haproxy?
Спасибо!
Код Nginx:
stream {
upstream custombackend{
server 127.0.0.1:8888;
}
upstream httpbackend{
server 127.0.0.1:9999;
}
server {
listen 443 ssl;
// only route to httpbackend..
proxy_pass httpbackend;
ssl_certificate /etc/cert/fullchain.cer;
ssl_certificate_key /etc/cert/aa.aa.key;
}
}
http{
server {
listen 9999;
server_name aa.aa;
......
}
Код Haproxy:
defaults
log global
mode tcp
frontend tls-in
bind *:443 tfo ssl crt /etc/ssl/private/aa.aa.pem
tcp-request content accept if HTTP
tcp-request inspect-delay 5s
// which Nginx code could route request just like below ??
use_backend httpback if HTTP
default_backend customback
backend customback
server server1 127.0.0.1:8888
backend httpback
server server1 127.0.0.1:9999