KeiStory

n8n 서버 무료 호스팅 3 - 클라우드플레어로 SSL 인증서 및 도메인 연결하기

 
이전 포스팅에서 이어집니다.
2024.11.24 - [코딩/n8n_make] - n8n 서버 무료 호스팅 1 - 구글 클라우드 서버 만들기
2024.11.25 - [코딩/n8n_make] - n8n 서버 무료 호스팅 2 - n8n 설치하기

https 로 접속하기 위해서는 SSL 인증서를 발급받아서 처리해야하합니다.
여기에 도메인과 연결하여 ip 주소가 아닌 도메인 주소로 연결해 보겠습니다.
SSL 인증서는 cloudflare 를 이용합니다.
cloudflare 에서 도에민을 구입해도 됩니다. (여기에서 aaa.com 을 도메인 예시로 사용하겠습니다.)
하지만 저는 웹티즌에 도메인을 사놓은게 있어서 거기에 연결하겠습니다.
 
클라우드플레어로 접속합니다.
https://dash.cloudflare.com/
 
무료료시작하기를 선택합니다.

 
회원 가입을 합니다.

 
아래 화면에서 자신이 가진 도메인을 입력하거나 아래 register a new domain 을 클릭해 도메인을 만들어도 됩니다.
도메인 가격이 저렴한 것도 많습니다.
전 가지고 있는 도메인 명을 넣고 Continue 를 선택했습니다.

 
plan 을 선택하는 화면이 나옵니다. Free 를 선택합니다

Free 에도 SSL 인증서가 포함되어있습니다.
아래와 같은 화면이 나오게되는데 Add record 버튼을 선택하고 구글클라우드 외부주소를 확인해
Name 에는 @ 를 입력하고 IPv4 address 에 ip주소 를 적습니다.

구글클라우드 콘솔에서 외부주소는 VM 인스턴스 목록에 있습니다.

 
Save 를 하게되면 아래 처럼 목록에 추가되고 아래 Continue to activation 버튼을 클릭합니다.

 
아래와 같은 화면이 나오는데 도메인에 네임서버를 등록해 줘야합니다.

 
계속을 클릭합니다. (언어를 한국어 로 바꾼 상태)

웹티즌에서 구매한 도메인이라서 웹티즌에서 아래 처럼 설정했습니다.
leanna.ns.cloudflare.com
ricardo.ns.cloudflare.com

다시 클라우드플래어 화면으로 와서 새로고침을 하면 아래와 같이 바로되지 않고 조금 기다려줘야합니다.

조금 시간이 지나면 아래처럼 상태가 활성 이됩니다.

 
도메인은 80포트로 연결을 시도하므로 80포트를 5678 포트로 연결애 줘야합니다.
이제 다시 구글클라우드 콘솔로 돌아와서 SSH 창을 엽니다.
nginx 를 설치하고

sudo apt install nginx

파일을 편집합니다.

sudo nano /etc/nginx/sites-available/n8n

아래 내용을 넣는데 server_name 에 자신의 도메인 주소를 넣습니다. (aaa.com 인 경우)

server {
	listen 80;
	server_name aaa.com;
	location ~ ^/.* {
		proxy_pass http://localhost:5678;
		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_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		
		chunked_transfer_encoding off;
		proxy_buffering off;
		proxy_cache off;
	}
}

Ctrl+X 를 클릭하고 Enter 하여 빠져나옵니다.
아래 명령으로 금방 편집핸던 내용이 유효한지 확인하고 nginx 를 재시작 합니다.

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

이제 n8n 을 실행합니다.
기존에 사용했던 N8N_SECURE_COOKIE=false 는 제거하고 n8n 의 webhook 설정을 추가합니다.

sudo docker run -it --rm --name n8n -p 5678:5678 -e WEBHOOK_URL="https://aaa.com" -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

webhook 주소는 n8n 에서 webhook 노드를 사용할때 도메인으로 접속이 가능하게 하기위해 설정합니다.
이제 나의 도메인 주소로 들어가 봅니다.
저같은 경우 아래의 화면에 처음에 나왔는데요

다시 리프레시 하면 제대로 접속되는걸 확인할 수 있습니다.

회원 가입을 하면 아래처럼 로그인 화면이 나타납니다.

로그인해서 아래와 같이 초기화면이 나오면 이제 n8n 서버 호스팅이 마무리 된 것입니다.

다음 포스팅에서는 보안 및 네트워크등 추가 설정할 내용에 대해서 알아보겠습니다.
https://keistory.tistory.com/1541
 
 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band