Docker compose mailcow+;jwilder-仅当我指定端口8080时才起作用
首先,到目前为止还不错。如果我去的话,我可以得到mailcow前端Docker compose mailcow+;jwilder-仅当我指定端口8080时才起作用,docker-compose,nginx-reverse-proxy,jwilder-nginx-proxy,Docker Compose,Nginx Reverse Proxy,Jwilder Nginx Proxy,首先,到目前为止还不错。如果我去的话,我可以得到mailcow前端 http://www.mail.mydomain.dk:8080/ 但我想能够直接输入 https://mail.mydomain.dk 但当我输入时,我得到 502 Bad Gateway 现在我在mydomain.dk上运行了一个wesite,在docker.mydomain.dk上运行了portainer,这两个版本都可以使用https正常运行 有没有人能指引我朝着正确的方向去做我在这里错过的事情 我唯一改变的是
http://www.mail.mydomain.dk:8080/
但我想能够直接输入
https://mail.mydomain.dk
但当我输入时,我得到
502 Bad Gateway
现在我在mydomain.dk上运行了一个wesite,在docker.mydomain.dk上运行了portainer,这两个版本都可以使用https正常运行
有没有人能指引我朝着正确的方向去做我在这里错过的事情
我唯一改变的是:
mailcow.conf
MAILCOW_HOSTNAME=mail.mydomain.dk
HTTP_PORT=8080
HTTP_BIND=0.0.0.0
HTTPS_PORT=8443
HTTPS_BIND=0.0.0.0
SKIP_LETS_ENCRYPT=y
docker-compose.yml(在mailcow内部)
nginx-mailcow:
depends_on:
- sogo-mailcow
- php-fpm-mailcow
- redis-mailcow
image: nginx:mainline-alpine
dns:
- ${IPV4_NETWORK:-172.22.1}.254
command: /bin/sh -c "envsubst < /etc/nginx/conf.d/templates/listen_plain.template > /etc/nginx/conf.d/listen_plain.active &&
envsubst < /etc/nginx/conf.d/templates/listen_ssl.template > /etc/nginx/conf.d/listen_ssl.active &&
envsubst < /etc/nginx/conf.d/templates/server_name.template > /etc/nginx/conf.d/server_name.active &&
envsubst < /etc/nginx/conf.d/templates/sogo.template > /etc/nginx/conf.d/sogo.active &&
. /etc/nginx/conf.d/templates/sogo.auth_request.template.sh > /etc/nginx/conf.d/sogo_proxy_auth.active &&
. /etc/nginx/conf.d/templates/sites.template.sh > /etc/nginx/conf.d/sites.active &&
. /etc/nginx/conf.d/templates/sogo_eas.template.sh > /etc/nginx/conf.d/sogo_eas.active &&
nginx -qt &&
until ping phpfpm -c1 > /dev/null; do sleep 1; done &&
until ping sogo -c1 > /dev/null; do sleep 1; done &&
until ping redis -c1 > /dev/null; do sleep 1; done &&
until ping rspamd -c1 > /dev/null; do sleep 1; done &&
exec nginx -g 'daemon off;'"
environment:
- HTTPS_PORT=${HTTPS_PORT:-443}
- HTTP_PORT=${HTTP_PORT:-80}
- MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}
- IPV4_NETWORK=${IPV4_NETWORK:-172.22.1}
- TZ=${TZ}
- SKIP_SOGO=${SKIP_SOGO:-n}
- ALLOW_ADMIN_EMAIL_LOGIN=${ALLOW_ADMIN_EMAIL_LOGIN:-n}
- VIRTUAL_HOST=mail.mydomain.dk
- LETSENCRYPT_HOST=mail.mydomain.dk
- LETSENCRYPT_EMAIL=xxx@hotmail.com
volumes:
- ./data/web:/web:ro,z
- ./data/conf/rspamd/dynmaps:/dynmaps:ro,z
- ./data/assets/ssl/:/etc/ssl/mail/:ro,z
- ./data/conf/nginx/:/etc/nginx/conf.d/:rw,Z
- ./data/conf/rspamd/meta_exporter:/meta_exporter:ro,z
- sogo-web-vol-1:/usr/lib/GNUstep/SOGo/:z
ports:
- "${HTTPS_BIND:-0.0.0.0}:${HTTPS_PORT:-8443}:${HTTPS_PORT:-443}"
- "${HTTP_BIND:-0.0.0.0}:${HTTP_PORT:-8080}:${HTTP_PORT:-80}"
#- "127.0.0.1:8080:80"
#- "127.0.0.1:8443:443"
restart: always
networks:
mailcow-network:
aliases:
- nginx
proxy:
networks:
proxy:
external:
name: proxy_default
mailcow-network:
driver: bridge
driver_opts:
com.docker.network.bridge.name: br-mailcow
enable_ipv6: true
ipam:
driver: default
config:
- subnet: ${IPV4_NETWORK:-172.22.1}.0/24
- subnet: ${IPV6_NETWORK:-fd4d:6169:6c63:6f77::/64}
proxy:
image: jwilder/nginx-proxy
container_name: proxy
restart: unless-stopped
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- certs:/etc/nginx/certs:rw
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
ports:
- "80:80"
- "443:443"
networks:
- "default"
proxy-letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
restart: unless-stopped
environment:
- NGINX_PROXY_CONTAINER=proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- "proxy"
depends_on:
- "proxy"
networks:
- "default"