InfoGrab Docs

Webhook 노드 공통 이슈

요약

다음은 Webhook 노드에서 자주 발생하는 이슈와 질문 및 권장 해결 방법입니다. 기본적으로 Webhook 노드는 단일 메서드를 사용하는 호출만 수락합니다. Webhook 노드는 각 메서드마다 별도의 출력을 가지므로 메서드에 따라 다른 작업을 수행할 수 있습니다.

다음은 Webhook 노드에서 자주 발생하는 이슈와 질문 및 권장 해결 방법입니다.

여러 HTTP 메서드 수신하기#

기본적으로 Webhook 노드는 단일 메서드를 사용하는 호출만 수락합니다. 예를 들어 GET 또는 POST 요청은 수락할 수 있지만 둘 다 동시에 수락할 수는 없습니다. 여러 메서드를 사용하는 호출을 수락하려면:

  1. 노드 Settings를 엽니다.
  2. Allow Multiple HTTP Methods를 켭니다.
  3. Parameters로 돌아갑니다. 이제 기본적으로 노드가 GET 및 POST 호출을 모두 수락합니다. HTTP Methods 필드에서 다른 메서드를 추가할 수 있습니다.

Webhook 노드는 각 메서드마다 별도의 출력을 가지므로 메서드에 따라 다른 작업을 수행할 수 있습니다.

HTTP Request 노드를 사용하여 Webhook 노드 트리거하기#

HTTP Request 노드는 지정한 URL로 HTTP 요청을 보냅니다.

  1. 새 워크플로우를 생성합니다.
  2. 워크플로우에 HTTP Request 노드를 추가합니다.
  3. Request Method 드롭다운 목록에서 메서드를 선택합니다. 예를 들어 Webhook 노드에서 HTTP method로 GET을 선택했다면 HTTP Request 노드에서도 GET을 request method로 선택합니다.
  4. Webhook 노드의 URL을 복사하여 HTTP Request 노드의 URL 필드에 붙여넣습니다.
  5. Webhook 노드의 test URL을 사용하는 경우: Webhook 노드와 함께 워크플로우를 실행합니다.
  6. HTTP Request 노드를 실행합니다.

curl을 사용하여 Webhook 노드 트리거하기#

curl을 사용하여 Webhook 노드를 트리거하는 HTTP 요청을 보낼 수 있습니다.

Note

예제에서 <https://your-n8n.url/webhook/path>를 실제 webhook URL로 교체합니다. 예제는 GET 요청을 사용합니다. HTTP Method에서 설정한 HTTP 메서드를 사용할 수 있습니다.

파라미터 없이 HTTP 요청 보내기:

curl --request GET <https://your-n8n.url/webhook/path>

body 파라미터와 함께 HTTP 요청 보내기:

curl --request POST <https://your-n8n.url/webhook/path> --data 'key=value'

header 파라미터와 함께 HTTP 요청 보내기:

curl --request GET <https://your-n8n.url/webhook/path> --header 'key=value'

파일 전송을 위한 HTTP 요청 보내기:

curl --request POST <https://your-n8n.url/webhook/path> --form 'key=@/path/to/file'

/path/to/file을 전송할 파일의 경로로 교체합니다.

string 타입 응답 보내기#

기본적으로 응답 형식은 JSON 또는 배열입니다. string 타입의 응답을 보내려면:

  1. Response Mode > When Last Node Finishes를 선택합니다.
  2. Response Data > First Entry JSON을 선택합니다.
  3. Add Option > Property Name을 선택합니다.
  4. 응답이 포함된 속성 이름을 입력합니다. 기본값은 data입니다.
  5. Webhook 노드에 Edit Fields 노드를 연결합니다.
  6. Edit Fields 노드에서 Add Value > String을 선택합니다.
  7. Name 필드에 속성 이름을 입력합니다. 이름은 4단계의 속성 이름과 일치해야 합니다.
  8. Value 필드에 string 값을 입력합니다.
  9. Keep Only Set을 켜기(녹색)로 전환합니다.

Webhook을 호출하면 Edit Fields 노드의 string 응답을 전송합니다.

Test URL vs Production URL#

n8n은 각 Webhook 노드에 대해 Test URLProduction URL 두 가지 Webhook URL을 생성합니다.

워크플로우를 구축하거나 테스트하는 동안에는 Test URL을 사용합니다. Webhook URL을 프로덕션에서 사용할 준비가 되면 Production URL을 사용합니다.

URL 유형 트리거 방법 수신 지속 시간 에디터 UI에 데이터 표시?
Test URL Listen for test event를 선택하고 소스에서 테스트 이벤트를 트리거합니다. 120초 :white_check_mark:
Production URL 워크플로우를 게시(publish)합니다 워크플로우가 게시 취소될 때까지 :x:

자세한 내용은 Workflow development를 참조합니다.

화이트리스트의 IP 주소 연결 실패#

IP 화이트리스트의 IP 주소에서 연결할 수 없는 경우, n8n이 리버스 프록시 뒤에서 실행 중인지 확인합니다.

그런 경우, n8n이 실행 중인 리버스 프록시의 수로 N8N_PROXY_HOPS 환경 변수를 설정합니다.

경로와 메서드당 하나의 webhook만 허용#

n8n은 각 경로와 HTTP 메서드 조합(예: /my-request에 대한 GET 요청)에 대해 하나의 webhook만 등록을 허용합니다. 이를 통해 어느 webhook이 요청을 수신해야 하는지에 대한 모호성을 방지합니다.

선택한 경로와 메서드가 이미 사용 중이라는 메시지가 표시되면 다음 중 하나를 선택할 수 있습니다.

  • 충돌하는 webhook이 있는 워크플로우를 게시 취소(unpublish)합니다.
  • 충돌하는 webhook 중 하나의 webhook 경로 및/또는 메서드를 변경합니다.

n8n Cloud에서의 타임아웃#

n8n Cloud는 악성 트래픽으로부터 보호하기 위해 Cloudflare를 사용합니다. Webhook이 100초 이내에 응답하지 않으면 수신 요청이 524 상태 코드로 실패합니다.

이 때문에 이 제한을 초과할 수 있는 장시간 실행 프로세스의 경우 두 개의 별도 webhook을 구성하여 폴링 로직을 도입해야 할 수 있습니다.

  • 장시간 실행 프로세스를 시작하고 즉시 응답을 보내는 webhook 하나.
  • 프로세스 상태를 조회하고 완료 시 결과를 가져오기 위해 주기적으로 호출할 수 있는 두 번째 webhook.

Webhook 노드 공통 이슈

원문 보기
요약

다음은 Webhook 노드에서 자주 발생하는 이슈와 질문 및 권장 해결 방법입니다. 기본적으로 Webhook 노드는 단일 메서드를 사용하는 호출만 수락합니다. Webhook 노드는 각 메서드마다 별도의 출력을 가지므로 메서드에 따라 다른 작업을 수행할 수 있습니다.

다음은 Webhook 노드에서 자주 발생하는 이슈와 질문 및 권장 해결 방법입니다.

여러 HTTP 메서드 수신하기#

기본적으로 Webhook 노드는 단일 메서드를 사용하는 호출만 수락합니다. 예를 들어 GET 또는 POST 요청은 수락할 수 있지만 둘 다 동시에 수락할 수는 없습니다. 여러 메서드를 사용하는 호출을 수락하려면:

  1. 노드 Settings를 엽니다.
  2. Allow Multiple HTTP Methods를 켭니다.
  3. Parameters로 돌아갑니다. 이제 기본적으로 노드가 GET 및 POST 호출을 모두 수락합니다. HTTP Methods 필드에서 다른 메서드를 추가할 수 있습니다.

Webhook 노드는 각 메서드마다 별도의 출력을 가지므로 메서드에 따라 다른 작업을 수행할 수 있습니다.

HTTP Request 노드를 사용하여 Webhook 노드 트리거하기#

HTTP Request 노드는 지정한 URL로 HTTP 요청을 보냅니다.

  1. 새 워크플로우를 생성합니다.
  2. 워크플로우에 HTTP Request 노드를 추가합니다.
  3. Request Method 드롭다운 목록에서 메서드를 선택합니다. 예를 들어 Webhook 노드에서 HTTP method로 GET을 선택했다면 HTTP Request 노드에서도 GET을 request method로 선택합니다.
  4. Webhook 노드의 URL을 복사하여 HTTP Request 노드의 URL 필드에 붙여넣습니다.
  5. Webhook 노드의 test URL을 사용하는 경우: Webhook 노드와 함께 워크플로우를 실행합니다.
  6. HTTP Request 노드를 실행합니다.

curl을 사용하여 Webhook 노드 트리거하기#

curl을 사용하여 Webhook 노드를 트리거하는 HTTP 요청을 보낼 수 있습니다.

Note

예제에서 <https://your-n8n.url/webhook/path>를 실제 webhook URL로 교체합니다. 예제는 GET 요청을 사용합니다. HTTP Method에서 설정한 HTTP 메서드를 사용할 수 있습니다.

파라미터 없이 HTTP 요청 보내기:

curl --request GET <https://your-n8n.url/webhook/path>

body 파라미터와 함께 HTTP 요청 보내기:

curl --request POST <https://your-n8n.url/webhook/path> --data 'key=value'

header 파라미터와 함께 HTTP 요청 보내기:

curl --request GET <https://your-n8n.url/webhook/path> --header 'key=value'

파일 전송을 위한 HTTP 요청 보내기:

curl --request POST <https://your-n8n.url/webhook/path> --form 'key=@/path/to/file'

/path/to/file을 전송할 파일의 경로로 교체합니다.

string 타입 응답 보내기#

기본적으로 응답 형식은 JSON 또는 배열입니다. string 타입의 응답을 보내려면:

  1. Response Mode > When Last Node Finishes를 선택합니다.
  2. Response Data > First Entry JSON을 선택합니다.
  3. Add Option > Property Name을 선택합니다.
  4. 응답이 포함된 속성 이름을 입력합니다. 기본값은 data입니다.
  5. Webhook 노드에 Edit Fields 노드를 연결합니다.
  6. Edit Fields 노드에서 Add Value > String을 선택합니다.
  7. Name 필드에 속성 이름을 입력합니다. 이름은 4단계의 속성 이름과 일치해야 합니다.
  8. Value 필드에 string 값을 입력합니다.
  9. Keep Only Set을 켜기(녹색)로 전환합니다.

Webhook을 호출하면 Edit Fields 노드의 string 응답을 전송합니다.

Test URL vs Production URL#

n8n은 각 Webhook 노드에 대해 Test URLProduction URL 두 가지 Webhook URL을 생성합니다.

워크플로우를 구축하거나 테스트하는 동안에는 Test URL을 사용합니다. Webhook URL을 프로덕션에서 사용할 준비가 되면 Production URL을 사용합니다.

URL 유형 트리거 방법 수신 지속 시간 에디터 UI에 데이터 표시?
Test URL Listen for test event를 선택하고 소스에서 테스트 이벤트를 트리거합니다. 120초 :white_check_mark:
Production URL 워크플로우를 게시(publish)합니다 워크플로우가 게시 취소될 때까지 :x:

자세한 내용은 Workflow development를 참조합니다.

화이트리스트의 IP 주소 연결 실패#

IP 화이트리스트의 IP 주소에서 연결할 수 없는 경우, n8n이 리버스 프록시 뒤에서 실행 중인지 확인합니다.

그런 경우, n8n이 실행 중인 리버스 프록시의 수로 N8N_PROXY_HOPS 환경 변수를 설정합니다.

경로와 메서드당 하나의 webhook만 허용#

n8n은 각 경로와 HTTP 메서드 조합(예: /my-request에 대한 GET 요청)에 대해 하나의 webhook만 등록을 허용합니다. 이를 통해 어느 webhook이 요청을 수신해야 하는지에 대한 모호성을 방지합니다.

선택한 경로와 메서드가 이미 사용 중이라는 메시지가 표시되면 다음 중 하나를 선택할 수 있습니다.

  • 충돌하는 webhook이 있는 워크플로우를 게시 취소(unpublish)합니다.
  • 충돌하는 webhook 중 하나의 webhook 경로 및/또는 메서드를 변경합니다.

n8n Cloud에서의 타임아웃#

n8n Cloud는 악성 트래픽으로부터 보호하기 위해 Cloudflare를 사용합니다. Webhook이 100초 이내에 응답하지 않으면 수신 요청이 524 상태 코드로 실패합니다.

이 때문에 이 제한을 초과할 수 있는 장시간 실행 프로세스의 경우 두 개의 별도 webhook을 구성하여 폴링 로직을 도입해야 할 수 있습니다.

  • 장시간 실행 프로세스를 시작하고 즉시 응답을 보내는 webhook 하나.
  • 프로세스 상태를 조회하고 완료 시 결과를 가져오기 위해 주기적으로 호출할 수 있는 두 번째 webhook.