ngrok
- 로컬 서버를 인터넷에 임시로 노출시켜주는 터널링 서비스
- Slack 서버가 localhost:8080에 직접 접근 불가하므로 ngrok 사용
ngrok 설정
ngrok 접속

로컬호스트가 떠있는지 확인

Slack Event Subscriptions 설정
Slack API 설정 : https://api.slack.com/apps
-> ngrok에서 포워딩된 url 입력

verified 확인 : Request URL 입력 시 슬랙이 바로 검증 요청을 보내기에 스프링에서 임시 엔드포인트 설정
package com.group.slack_ai_summary.slack.api.controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/slack")
public class SlackController {
@PostMapping("/events")
public Map<String, String> handleEvents(@RequestBody Map<String, Object> payload) {
if (payload.containsKey("challenge")) {
String challenge = (String) payload.get("challenge");
return Map.of("challenge", challenge);
}
return Map.of("status", "ok");
}
}
ngrok > http request 확인

ngrok 단점
포트포워딩 url 팀원간 공유 불가능 -> 공용 개발 서버 사용 필요(aws ec2 등).. AWS는 비용 발생 -> OCI 사용?
OCI = Oracle Cloud Infrastructure, 오라클 클라우드
oci 환경에서 k8s 클러스터 구축시 무료 사용 가능
-> 외부 ip할당 무료, nat gateway 무료, RAM 24Gb & 하드 200GB /MySQL 50GB 까지 무료
'Projects' 카테고리의 다른 글
| [Slack AI Bot] Redis로 부재 감지 시간 조정 (0) | 2025.12.07 |
|---|---|
| [Slack AI Bot] 사용자 부재 이벤트 감지 방법 -> Redis? (1) | 2025.11.30 |
| [Slack AI Bot] 슬랙 메시지 수집 & 디엠 전송 기능 점검 (0) | 2025.11.23 |
| [Slack AI Bot] Slack 애플리케이션 설정 (0) | 2025.11.23 |
| [Slack AI Bot] 스프링 부트 CI/CD 파이프라인 구축 (0) | 2025.11.18 |