Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

523
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!