Estoy tratando de implementar Apache NiFi en un contenedor Docker en la instancia EC2. Solo 2 puertos (80 y 443) están abiertos en este momento y no tengo derechos para cambiarlo.
He logrado iniciar NiFi:
sudo docker run --name nifi -p 8080:8080 -d apache/nifi:latestAquí está mi configuración nginx:
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; upstream nifi { server 0.0.0.0:8080; } server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; location / { proxy_pass http://nifi; proxy_set_header Origin http://nifi; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } } De momento NiFi funciona y puedo acceder a él vía IP de la instancia. proxy_set_header Origin http://nifi; la configuración solucionó un problema con la carga de plantillas en el servicio.
El problema es que no puedo configurar ningún procesador en absoluto. Cada vez que hago clic en "configurar" me sale este error:
Unable to communicate with NiFi Please ensure the application is running and check the logs for any errors.¿Pueden ayudarme a solucionar este problema?
No puedo ver nada útil en los registros. Una vez apareció un error sobre no usar HTTPS, pero creo que no está relacionado.
Después de unos días de jugar con Docker, Nginx y NiFi, encontré el problema. Cuando abrí los registros de red en un navegador, noté que Nifi estaba enviando una solicitud a 0.0.0.0 o nifi (el nombre de upstream).
Tuve que configurar proxy_set_header X-ProxyHost en mi archivo de configuración de Nginx y funcionó de maravilla. Usé la IP pública de mi servidor, tal vez cambie al nombre de dominio más tarde.
El principal problema con este problema fue la falta de registros: revisé todos los registros de nifi y nginx y no había nada interesante. Todavía me pregunto si esto es un error o no.