Welcome! Log In Create A New Profile

Advanced

Проблемы с бэкэндом на http2

Pavel Odintsov
October 18, 2015 03:00PM
Всем привет!

Имеется сервер 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
Subject Author Posted

Проблемы с бэкэндом на http2

Pavel Odintsov October 18, 2015 03:00PM

Re: Проблемы с бэкэндом на http2

Maxim Dounin October 19, 2015 08:52AM

Re: Проблемы с бэкэндом на http2

Pavel Odintsov October 19, 2015 08:58AM

Re: Проблемы с бэкэндом на http2

kpoxa October 19, 2015 09:08AM

Re: Проблемы с бэкэндом на http2

Pavel Mihaduk October 19, 2015 09:12AM

Re: Проблемы с бэкэндом на http2

Pavel Odintsov October 19, 2015 09:14AM

Re: Проблемы с бэкэндом на http2

Maxim Dounin October 19, 2015 10:02AM

Re: Проблемы с бэкэндом на http2

S.A.N October 19, 2015 09:47AM

Re: Проблемы с бэкэндом на http2

Maxim Dounin October 19, 2015 09:54AM

Re: Проблемы с бэкэндом на http2

Evgeniy Berdnikov October 19, 2015 10:26AM

Re: Проблемы с бэкэндом на http2

Maxim Konovalov October 19, 2015 10:30AM

Re: Проблемы с бэкэндом на http2

Konstantin Tokarev October 19, 2015 10:52AM

Re: Проблемы с бэкэндом на http2

Валентин Бартенев October 19, 2015 11:36AM

Re: Проблемы с бэкэндом на http2

Maxim Konovalov October 19, 2015 11:42AM

Re: Проблемы с бэкэндом на http2

denis October 19, 2015 12:20PM

Re: Проблемы с бэкэндом на http2

Валентин Бартенев October 19, 2015 12:34PM

Re: Проблемы с бэкэндом на http2

Evgeniy Berdnikov October 19, 2015 12:48PM

Re: Проблемы с бэкэндом на http2

kpoxa October 19, 2015 04:10PM

Re: Проблемы с бэкэндом на http2

Алексей Сундуков October 20, 2015 02:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 177
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready