๐ ์ฌ์ฉ์ ์ง์ CA ์คํ ์ด ์ค์
์ด ํํ ๋ฆฌ์ผ์ ์ปค๋ฎค๋ํฐ ๊ธฐ์ฌ์ ์ผํ์ด๋ฉฐ Open WebUI ํ์์ ์ง์ํ์ง ์์ต๋๋ค. ์ด๋ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๊ฒ Open WebUI๋ฅผ ๋ง์ถคํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ฐ๋ชจ๋ก๋ง ์ ๊ณต๋ฉ๋๋ค. ๊ธฐ์ฌ๋ฅผ ์ํ์ญ๋๊น? ๊ธฐ์ฌ ํํ ๋ฆฌ์ผ์ ํ์ธํ์ธ์.
OI๋ฅผ ์คํํ๋ ค๊ณ ํ ๋ [SSL: CERTIFICATE_VERIFY_FAILED]
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด, ๋๋ถ๋ถ ๋คํธ์ํฌ์์ HTTPS ํธ๋ํฝ์ด ์ฐจ๋จ๋๊ณ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค(์: ๊ธฐ์
๋คํธ์ํฌ).
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์๋ก์ด ์ธ์ฆ์๋ฅผ OI์ ์ ๋ขฐ ์คํ ์ด์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ฌ์ ์ ๋น๋๋ Docker ์ด๋ฏธ์ง ์ฌ์ฉ ์:
docker run
๋ช ๋ น์ค ์ต์ ์ผ๋ก--volume=/etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro
๋ฅผ ์ ๋ฌํ์ฌ ํธ์คํธ ๋จธ์ ์์ ์ปจํ ์ด๋๋ก ์ธ์ฆ์ ์คํ ์ด๋ฅผ ๋ง์ดํธํฉ๋๋ค.REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
๋ฅผ ์ค์ ํ์ฌ Python์ด ์์คํ ์ ๋ขฐ ์คํ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์ ํฉ๋๋ค(์ฐธ์กฐ: https://docs.docker.com/reference/cli/docker/container/run/#env).
ํ๊ฒฝ ๋ณ์ REQUESTS_CA_BUNDLE
์ด ์๋ํ์ง ์๋๋ค๋ฉด ๋์ผํ ๊ฐ์ ์ฌ์ฉํ์ฌ ๋์ SSL_CERT_FILE
์ ์ค์ ํด๋ณด์ญ์์ค(httpx documentation ์ฐธ์กฐ).
@KizzyCode์ compose.yaml
์์ :
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
volumes:
- /var/containers/openwebui:/app/backend/data:rw
- /etc/containers/openwebui/compusrv.crt:/etc/ssl/certs/ca-certificates.crt:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- WEBUI_NAME=compusrv
- ENABLE_SIGNUP=False
- ENABLE_COMMUNITY_SHARING=False
- WEBUI_SESSION_COOKIE_SAME_SITE=strict
- WEBUI_SESSION_COOKIE_SECURE=True
- ENABLE_OLLAMA_API=False
- REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
ro
ํ๋๊ทธ๋ CA ์คํ ์ด๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธํ์ฌ ํธ์คํธ CA ์คํ ์ด์ ์ฐ๋ฐ์ ๋ณ๊ฒฝ์ ๋ฐฉ์งํฉ๋๋ค.
๋ก์ปฌ ๊ฐ๋ฐ์ฉ:
UI์ ๋ณ๊ฒฝ์ ์ํ ๊ฒฝ์ฐ, ๋๋ ๋น๋ ํ๋ก์ธ์ค์์ ์ธ์ฆ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด Dockerfile
์ ์์ ํ ์ ์์ต๋๋ค.
๋น๋๋ ๋ค์ค ๋จ๊ณ๋ก ์ด๋ฃจ์ด์ง๋ฏ๋ก ๋ค์ ๋จ๊ณ๋ฅผ ๋ชจ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- ํ๋ก ํธ์๋ (
build
๋จ๊ณ):
COPY package.json package-lock.json <YourRootCert>.crt ./
ENV NODE_EXTRA_CA_CERTS=/app/<YourRootCert>.crt
RUN npm ci
- ๋ฐฑ์๋ (
base
๋จ๊ณ):
COPY <CorporateSSL.crt> /usr/local/share/ca-certificates/
RUN update-ca-certificates
ENV PIP_CERT=/etc/ssl/certs/ca-certificates.crt \
REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt