Apache NiFi в Docker и Nginx - PullRequest
       43

Apache NiFi в Docker и Nginx

0 голосов
/ 18 марта 2020

Я пытаюсь развернуть Apache NiFi в Docker контейнере на экземпляре EC2. На данный момент открыто только 2 порта (80 и 443), и у меня нет прав на их изменение.

Мне удалось запустить NiFi:

sudo docker run --name nifi   -p 8080:8080   -d   apache/nifi:latest

Вот мой nginx config:

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 {
        }
    }
}

На данный момент работает NiFi, и я могу получить к нему доступ через IP-адрес экземпляра. proxy_set_header Origin http://nifi; установка исправила проблему с загрузкой шаблонов в сервис.

Проблема в том, что я не могу настроить какой-либо процессор вообще. Каждый раз, когда я нажимаю «настроить», я получаю эту ошибку:

Unable to communicate with NiFi
Please ensure the application is running and check the logs for any errors.

enter image description here

Не могли бы вы помочь мне решить эту проблему?

Я не вижу ничего полезного в журналах. Однажды появилась ошибка о неиспользовании HTTPS, но я думаю, что это не связано.

1 Ответ

0 голосов
/ 20 марта 2020

После нескольких дней возни с Docker, Nginx и NiFi я обнаружил проблему. Когда я открыл сетевые журналы в браузере, я заметил, что Nifi отправлял запрос на 0.0.0.0 или nifi (имя апстрима).

enter image description here

Мне пришлось установить proxy_set_header X-ProxyHost в моем файле конфигурации Nginx, и это сработало как чудо. Я использовал publi c IP моего сервера, возможно, я переключусь на доменное имя позже.

Основная проблема с этой проблемой заключалась в отсутствии журналов: я проверил все журналы nifi и nginx и ничего интересного не было. Мне все еще интересно, если это ошибка или нет.

...