好的,伙計們,這是我非常令人沮喪的問題:
我需要在上面部署一個帶有 ssl 的 mautic 實體。請注意誰需要自動生成 SSL,我想要一個完整的 docker 行程。
我嘗試了一切,但 aparenty 不存在任何直接在 docker 上生成 SSL 的解決方案,我發現的所有內容都使用服務器級別。
我發現的最近似的解決方案是使用 ftraefik,但它會與 mautic 發生沖突。
這是我的 docker-compose 檔案:
version: "3"
services:
traefik:
image: "traefik"
restart: always
command:
- "--api=true"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entrypoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
- "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
- "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- ${DATA_FOLDER}/letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
mauticdb:
restart: always
image: percona/percona-server:5.7
container_name: mauticdb
volumes:
- mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MAUTIC_DB_PASSWORD}
command:
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
mautic:
restart: always
image: mautic/mautic:latest
container_name: mautic
links:
- mauticdb:mysql
depends_on:
- mauticdb
ports:
- 127.0.0.1:80:80
volumes:
- mautic_data:/var/www/html
environment:
- MAUTIC_DB_HOST=mauticdb
- MYSQL_PORT_3306_TCP=3306
- MAUTIC_DB_USER=root
- MAUTIC_DB_PASSWORD=${MAUTIC_DB_PASSWORD}
- MAUTIC_DB_NAME=mautic
- MAUTIC_RUN_CRON_JOBS=true
- PHP_INI_DATE_TIMEZONE=${GENERIC_TIMEZONE}
labels:
- traefik.enable=true
# Routes
- traefik.http.routers.mautic.rule=Host(`${MAUTIC_SUBDOMAIN}.${DOMAIN_NAME}`)
- traefik.http.routers.mautic-secure.tls=true
- traefik.http.routers.mautic.entrypoints=websecure
- traefik.http.routers.mautic.tls.certresolver=mytlschallenge
# Middlewares
- traefik.http.middlewares.mautic.headers.SSLRedirect=true
- traefik.http.middlewares.mautic.headers.contentTypeNosniff=true
- traefik.http.middlewares.mautic.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.mautic.headers.forceSTSHeader=true
volumes:
mautic_data:
sslcerts:
mysql_data:
Traefik 在埠 80 上與 Mautic 發生沖突。所以這根本不起作用。
問:如何安裝 Traefik 并使用它通過 HTTPS 代理 Mautic 請求?
和:
如果 Traefik 不是正確的方法,我需要什么配置來自動生成讓基于 .env 檔案中感覺的域進行加密?
對任何作業的人開放。
謝謝;
uj5u.com熱心網友回復:
在與 80 不同的埠上運行 MAUTIC(因為這是 Traefik 使用的)
ports:
- "8081:80"
您還可以將 Traefik 配置為僅偵聽埠 443:在這種情況下,它將僅接受 HTTPS 請求,而 MAUTIC 可以在埠 80 上運行而不會發生沖突。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/371066.html
