영리의 테크블로그

Stable Diffusion ComfyUI/Web UI fastapi CORS 설정 방법 본문

dev/AI

Stable Diffusion ComfyUI/Web UI fastapi CORS 설정 방법

영리0 2024. 10. 1. 12:38

Stable Diffusion WebUI에서 CORS 문제 해결하기

 

Stable Diffusion WebUI를 로컬에서 실행하면서, 프론트엔드(예: React)에서 API 호출을 할 때 CORS(Cross-Origin Resource Sharing) 문제가 발생할 수 있음.

1. webui-user.bat 파일 편집

먼저, Stable Diffusion WebUI의 실행 파일인 webui-user.bat 파일을 편집.

2. COMMANDLINE_ARGS 설정에 CORS 옵션 추가

CORS 설정을 추가하기 위해 COMMANDLINE_ARGS 변수에 --cors-allow-origins 옵션을 추가.

  • 모든 출처(origin)에서의 CORS 요청을 허용하려면 다음과 같이 설정:
  • --cors-allow-origins "*"
  • 특정 도메인에서만 CORS 요청을 허용하려면 다음과 같이 설정:
  • --cors-allow-origins "http://example.com"

3. 전체 COMMANDLINE_ARGS 예시

다양한 최적화 옵션과 함께 CORS 설정을 적용한 전체 COMMANDLINE_ARGS 예시:

set COMMANDLINE_ARGS=--xformers --xformers-flash-attention --opt-channelslast --enable-insecure-extension-access --autolaunch --medvram --theme dark --no-half-vae --disable-nan-check --cors-allow-origins "*" --api --opt-sdp-attention --opt-split-attention

이 설정은 다음과 같은 기능을 포함:

  • --cors-allow-origins "*": 모든 출처에서의 CORS 요청을 허용.
  • --api: API 기능을 활성화하여 프로그래밍 방식으로 WebUI와 상호작용할 수 있음.
  • 그 외 다양한 최적화 옵션 (--xformers, --medvram, 등).

4. WebUI 재시작

webui-user.bat 파일을 저장한 후, WebUI를 재시작하여 설정을 적용. 이로써 프론트엔드 애플리케이션이 CORS 문제 없이 API에 접근할 수 있음.

보안 고려사항

모든 출처에서의 CORS 요청을 허용하는 것은 개발 환경에서는 편리할 수 있지만, 보안상의 이유로 특정 도메인만 허용하는 것이 권장.

--cors-allow-origins "http://example.com"