NGINX PROXY 0000 1204 0000 0000 0000 0300 0000 8000

2

Após a última atualização do nginx, todas as minhas páginas estão sendo exibidas:

    0000 1204 0000 0000 0000 0300 0000 8000
    0400 0000 0000 0500 ffff ff00 0004 0800
    0000 0000 7fff 0000 0000 0807 0000 0000
    0000 0000 0000 0000 01

Existe uma caixa do FreeBSD / 10.2-RELEASE-p17 com prisões.

  1. 10.10.10.1:80: Apache / 2.4.20 - somente como rede interna - hosts virtuais genéricos

  2. XX.XX.XX.XX: 80: nginx / 1.10.0 como proxy e balanceador de carga para o Apache24 - que é voltado para o público

Teste de trabalhos da rede interna (apache) em todos os arquivos:

curl -I --header 'Host: myserver.com' http://10.10.10.1:80/
HTTP/1.1 200 OK
Date: Fri, 20 May 2016 11:23:08 GMT
Server: Apache
Set-Cookie: _icl_current_language=en; expires=Sat, 21-May-2016 11:23:08 GMT; Max-Age=86400; path=/
Set-Cookie: _icl_current_language=en; expires=Sat, 21-May-2016 11:23:08 GMT;     Max-Age=86400; path=/
Content-Type: text/html; charset=UTF-8

O teste da rede interna ou externa (nginx) falha em todos os arquivos:

curl -I --header 'Host: myserver.com' http://XX.XX.XX.XX:80/
▒▒

Está acontecendo com todas as configurações; nenhum SSL envolvido para este servidor.

server {
        listen 80 ;
        server_name myserver.com
        expires off;
    location / {
        proxy_no_cache   1;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://10.10.10.1:80/;
        }
    }

Inicialmente, achei que poderia estar conectado a http / 2, mas não estou usando essa configuração de hosts. O Nginx tem vários hosts e alguns têm uma conexão http / 2 com outros hosts nginx http / 2 - isso funciona bem. Existe SSL inválido instalado para o outro proxy de hosts no nginx - mas funciona.

Aqui está o NGINX -v

nginx version: nginx/1.10.0
built with OpenSSL 1.0.2h  3 May 2016
TLS SNI support enabled
configure arguments: 
--prefix=/usr/local/etc/nginx 
--with-cc-opt='-I /usr/local/include' 
--with-ld-opt='-L /usr/local/lib' 
--conf-path=/usr/local/etc/nginx/nginx.conf 
--sbin-path=/usr/local/sbin/nginx 
--pid-path=/var/run/nginx.pid 
--error-log-path=/var/log/nginx-error.log 
--user=www 
--group=www 
--modules-path=/usr/local/libexec/nginx 
--with-ipv6 
--with-google_perftools_module 
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp 
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp 
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp 
--http-scgi-temp-path=/var/tmp/nginx/scgi_temp 
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp 
--http-log-path=/var/log/nginx-access.log 
--add-module=/wrkdirs/usr/ports/www/nginx/work/nginx_accept_language_module-2f69842 
--with-http_addition_module 
--add-module=/wrkdirs/usr/ports/www/nginx/work/nginx-auth-ldap-8517bb0 
--add-module=/wrkdirs/usr/ports/www/nginx/work/ngx_http_auth_pam_module-1.2 
--add-module=/wrkdirs/usr/ports/www/nginx/work/ngx_cache_purge-2.3 
--add-dynamic-module=/wrkdirs/usr/ports/www/nginx/work/headers-more-nginx-module-f5559ec 
--with-http_dav_module 
--add-module=/wrkdirs/usr/ports/www/nginx/work/nginx-http-footer-filter-1.2.2 
--with-http_geoip_module=dynamic 
--with-http_gzip_static_module 
--with-http_gunzip_module 
--with-http_image_filter_module=dynamic 
--add-module=/wrkdirs/usr/ports/www/nginx/work/nginx-notice-3c95966 
--with-http_perl_module=dynamic 
--with-http_realip_module 
--with-http_slice_module 
--with-http_stub_status_module 
--with-http_sub_module 
--with-http_xslt_module=dynamic 
--add-module=/wrkdirs/usr/ports/www/nginx/work/ngx_devel_kit-0.2.19 
--add-module=/wrkdirs/usr/ports/www/nginx/work/memc-nginx-module-0.16 
--with-pcre 
--add-module=/wrkdirs/usr/ports/www/nginx/work/xss-nginx-module-0.04 
--with-http_v2_module 
--with-stream=dynamic 
--with-stream_ssl_module 
--with-threads 
--with-http_ssl_module 
--add-module=/wrkdirs/usr/ports/www/nginx/work/iconv-nginx-module-0.10

Isso acontece apenas com os servidores Apache que estão por trás. A mesma configuração estava funcionando nos últimos 6 anos; isso aconteceu depois da atualização do nginx.

Alguma ideia do que pode estar acontecendo? Bug?

    
por busy 20.05.2016 / 11:15

1 resposta

0

O hexdump contém dados HTTP / 2 SETTINGS e WINDOW_UPDATE. Dê uma olhada com nghttp -n -vvv '<host>' --hexdump . Os últimos bits 0000 0807 0000 0000 0000 0000 0000 0000 01 expressam um erro, consulte rfc7540 . Não tenho certeza, mas parece um quadro GOAWAY com um código de erro no final.

Sua curva fala http / 1.1 para uma porta nginx http / 2 - sem o idioma de atualização apropriado para receber http2, provavelmente não compilado com nghttp2. Nginx por sua vez não faz http / 1.1 ainda em uma porta habilitada para http / 2 (veja # 816 ) em nginx bugtrac). Portanto, sua versão do curl e a versão do nginx não podem se comunicar. Você pode pesquisar se escutou acidentalmente na porta 80 com http2 ativado ou proxy http2 para a porta 80 em um dos blocos {} do servidor incluídos.

    
por 05.08.2017 / 14:14