공부한 내용정리/기타

NIFI- nginx 와 연결하여 접속 링크 바꾸기

JinHee Han 2021. 3. 28. 12:45

개요

nifi를 서버에 올려서 사용할 때 http://아이피:포트/nifi 만으로 접속이 가능한데 이 접속을 조금더 까다롭게 하기 위해 nginx를 사용하여 접속링크를 바꾸는 방법을 기록한다.

 

사전준비

- NGINX 설치

 

[CentOS 7] CentOS 7 - NGINX 설치 방법

CentOS 7 버전에 Nginx 설치 방법 정리 요약 yum 외부 저장소 추가 yum install 방화벽 포트 개방 nginx 포트 설정 nginx 데몬 실행 실행 1. yum 외부 저장소 추가 yum 저장소에는 nginx가 없기 때문에 외부 저장..

holjjack.tistory.com

 

더보기

yum 저장소에는 nginx가 없으므로 직접 추가 필요

# cd etc/yum.repos.d/

# vi nginx.repo


nginx.repo 내용은 아래와 같이 입력후 저장한다.

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1


yum install -y nginx

 

- NIFI 설치

- 방화벽 설정


NGINX 설정

nginx.conf 파일을 아래와 같이 설정한다.

눈여겨 봐야할 부분은 http 안에 있는 server 부분

 

listen : 접속 포트 

server_name : 서버명( 여기서는 일단 접속 IP로 입력했지만 입력하지 않고 지워도 상관없다.)

 

location /gkswlsgml(설정하고싶은location이름)/

본 설정은 location / 으로 되어 있다. 

위와 같이 설정하면 접속 주소가 http://아이피:포트/gkswlsgml/ 로 입력해야 접속 가능하고 만약 http://아이피:포트 만 입력한 경우는 404 에러가 나며 페이지를 보여주지 않는다.

 

location 옵션

proxy_pass 

포트및 location을 입력했을때 최종적으로 도착할 목적지 주소를 입력한다. (여기서는 NIFI접속이 목적이기 때문에 http://localhost:8080/ 입력)

 

proxy_set_header 

proxy_pass만 설정하고 접속하면 NIFI 메인 화면은 볼수 있지만 NIFI에서 프로세서를 생성하고 옮기거나 프로퍼티를 설정하려 하면 에러가 난다. 정확한 원인은 아직까지 알아내지 못했지만 proxy_set_header 와 nifi.properties 설정을 통해 해결할 수 있었다. (nginx 는 클라이언트의 요청을 백엔드서버에 전달하고 , 응답을 받아 다시 클라이언트에게 전달하는데 이때 오고가는 요청에서 일부 헤더에 대한 요청은 무시한다고 함)

 

-참조 링크

 

[Nginx] 엔진엑스 프록시 모듈

엔진엑스 기본 빌드에는 프록시 모듈이 포함돼 있어 클라이언트로부터의 HTTP 요청을 백엔드 서버에 전달합니다. 여러 관점에서 모듈환경을 설정해봅시다.  - 백엔드 서버의 기본 주소와 포트

12bme.tistory.com


NIFI 설정 

conf의 nifi.properties 파일을 아래와 같이 설정한다.

핵심적인 부분은 nifi.web.proxy 부분

 

nifi.web.proxy.context.path 는 nginx에서 location에 정해준 경로를 입력

nifi.web.proxy.host 는 localhost:nginx에서 location 설정한 Port 입력

 


방화벽 설정

firewall을 설정하여 외부에서 접속할수 있는 포트를 오픈한다.

 

firewalld 설치 : yum install -y firewalld

firewalld 시작/등록

systemctl unmask firewalld

systemctl enable firewalld

systemctl start firewalld

 

firewalld 포트(30518) 허용 :

firewall-cmd --zone=public --add-port=30518/tcp

 

firewalld 포트 확인 :

firewall-cmd --zone=public --list-ports

 

주의할 점은 Nifi에 설정한 포트를 허용하지 않아야 한다는 점이다. (외부에서 아이피: 포트 를 통한 직접 접속 차단)

 

위와 같이 설정하면 http://아이피:30518/gkswlsgml/nifi 를 입력하면 NIFI에 접속이 가능하다.