Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

514
Vistas
configuración web gRPC + NGINX TLS

Tengo un servidor Node gRPC y un cliente web gRPC (TS con Angular). Estoy usando Nginx como proxy para facilitar la comunicación entre ellos.

No sé cómo configurar el cliente web gRPC (TS) con SSL. Intenté usar mi configuración actual de Nginx y la configuración de Node con un cliente Node gRPC (no web gRPC). Funcionó en ese caso.

Configuración de nodo js: Configuración de nodo Js

Script para generar certificados:

 openssl genrsa -passout pass:1111 -des3 -out ca.key 4096 openssl req -passin pass:1111 -new -x509 -days 365 -key ca.key -out ca.crt -subj "/C=CL/ST=RM/L=Santiago/O=Test/OU=Test/CN=ca" openssl genrsa -passout pass:1111 -des3 -out server.key 4096 openssl req -passin pass:1111 -new -key server.key -out server.csr -subj "/C=CL/ST=RM/L=Santiago/O=Test/OU=Server/CN=dev" openssl x509 -req -passin pass:1111 -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt openssl rsa -passin pass:1111 -in server.key -out server.key openssl genrsa -passout pass:1111 -des3 -out client.key 4096 openssl req -passin pass:1111 -new -key client.key -out client.csr -subj "/C=CL/ST=RM/L=Santiago/O=Test/OU=Client/CN=dev" openssl x509 -passin pass:1111 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt openssl rsa -passin pass:1111 -in client.key -out client.key

En el código anterior, en CN=dev, dev es la entrada DNS en el archivo etc/hosts de mi servidor que apunta a la propia dirección del servidor.

Configuración de Nginx:

 server { listen 10002 ssl http2; # listen 10002 http2; # include snippets/self-signed.conf; # include snippets/ssl-params.conf; ssl_certificate certs/client.crt; ssl_certificate_key certs/client.key; if ($request_method = OPTIONS) { return 204; } add_header 'Access-Control-Allow-Origin' "$http_origin" always; add_header Access-Control-Max-Age 3600; add_header Access-Control-Expose-Headers Content-Length; add_header Access-Control-Allow-Headers Range; add_header Access-Control-Allow-Headers x-user-agent; add_header Access-Control-Allow-Headers x-grpc-web; add_header Access-Control-Allow-Headers content-type; grpc_ssl_certificate certs/client.crt; grpc_ssl_certificate_key certs/client.key; grpc_ssl_trusted_certificate certs/ca.crt; grpc_ssl_name ace-dev; grpc_ssl_server_name on; # location /Forms.Forms/getExistingForms{ # grpc_pass grpcs://backend; # }; location / { grpc_pass grpcs://192.168.1.59:50051; } #ssl_certificate ssl/cert.pem; #ssl_certificate_key ssl/key.pem; #... }

Ahora, la parte de gRPC web (no funciona da un error de protocolo de enlace, no hay documentación adecuada sobre cómo hacerlo, así que intente mirar esto y el código fuente de grpcWeb y asumí que iría de esta manera): web gRPC TLS config

Esto es todo lo que tengo ahora. Cualquier ayuda sería apreciada.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Nginx ya no se admite activamente para grpc-web. Nginx, listo para usar, no entiende la solicitud grpc-web. El proxy predeterminado que admite grpc-web es Envoy. Puede buscar cómo configurar Envoy con sus documentaciones.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda