En el siguiente ejemplo vamos a iniciar un microservicio en el puerto 9090, posteriormente vamos a dar acceso a este servicio por el puerto 80 a travez de diferentes "context path" (/camel1 y /camel2) distribuidos en diferentes ficheros.
Iniciamos un servicio de prueba en el puerto 9090 ( para mas info visite helloworld-camel-spring-boot)
$ docker run -d -p 9090:8080 helloworld-camel-spring-boot:0.0.2Registramos la configuracion principal en NGINX importando los ficheros *.location (mappings) por cada "context path" al cual vamos a dar servicio.
camel.conf file
upstream camelcluster { keepalive 32; # keepalive connections server localhost:9090; #camel miroservice ip and port } server { # simple load balancing listen 80; server_name localhost; access_log /var/log/nginx/camel.server.access.log; error_log /var/log/nginx/camel.server.error.log; include /etc/nginx/conf.d/*.location; }Primer mapping (camel1.location file)
location /camel1 { sendfile off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Connection ""; # Clear for keepalive proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_http_version 1.1; proxy_pass http://camelcluster/camel/say/helloObject/ExampleNumberOne; }Segundo mapping (camel2.location file)
location /camel2 { sendfile off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Connection ""; # Clear for keepalive proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_http_version 1.1; proxy_pass http://camelcluster/camel/say/helloObject/ExampleNumber2; }Reiniciamos NGINX.
$ sudo systemctl restart nginxComprobaremos que los mappings funcionan ejecutando curl commands como los siguientes:
$ curl http://localhost/camel1 {"text":"Hello ExampleNumberOne, I'm SpringCamelContext(camel-1) with spring id application!"} $ curl http://localhost/camel2 {"text":"Hello ExampleNumber2, I'm SpringCamelContext(camel-1) with spring id application!"}- Enjoy it -
No comments:
Post a Comment