Всем привет! Имеется сервер gRPC на С++, который работает только поверх шифрованного HTTP2. Имеется желание его проксировать силами Nginx для повышения надежности и реверс-проксирования.
Суть в том, что Nginx должен общаться с gRPC бэкэндом только по HTTP2/TLS, иначе оно не работает. Но Nginx не может подключиться к http2 бэкэнду вот с такой ошибкой: 2015/10/18 20:54:07 [error] 2954#2954: *3 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 127.0.0.1, server: api.fastnetmon.io, request: "POST /fastmitigation.Fastnetmon/GetBanlist HTTP/2.0", upstream: "https://127.0.0.1:10777/fastmitigation.Fastnetmon/GetBanlist", host: "api.fastnetmon.io:443" Отладочный лог следующий: https://gist.github.com/pavel-odintsov/a63be495bc8c97e263ce gRPC сервер ругается вот так: E1018 20:57:43.008673859 2849 security_connector.c:485] Missing selected ALPN property. E1018 20:57:43.008703681 2849 handshake.c:133] Peer check failed. E1018 20:57:43.008715764 2849 server_secure_chttp2.c:154] Secure transport failed with error 2 Судя по всему, ему нужно каким-то образом явно передать ALPN что оно HTTP2, но это сделать с Nginx - я не понимаю :( Мой конфиг вот такой: user nginx; worker_processes 1; # warn error_log /var/log/nginx/error.log debug; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" http v2: $http2'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; #include /etc/nginx/conf.d/*.conf; server { listen 443 ssl http2 default_server; server_name api.fastnetmon.io; ssl_certificate /usr/src/fastnetmon/src/server.crt; ssl_certificate_key /usr/src/fastnetmon/src/server.key; #root /var/www/html; location / { proxy_ssl_protocols TLSv1.2; add_header Alternate-Protocol 10777:npn-spdy/3; proxy_pass https://127.0.0.1:10777; proxy_set_header Host $host; } } } -- Sincerely yours, Pavel Odintsov _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru