无法在现有 jwilder-nginx-proxy 后面设置 iredmail ERR_TOO_MANY_REDIRECTS 301 永久移动

问题描述 投票:0回答:1

这是我第一次设置iredmail。 我很高兴找到这个小组,并真的希望我能得到一些有用的答案。

这里有人成功地在已运行多个 Web 应用程序并管理

iredmail/mariadb:stable
证书的现有
nginx jwilder/docker-gen
反向代理后面设置
letsencrypt
吗?

我无法让我的设置正常工作。 当我尝试连接到我的

ERR_TOO_MANY_REDIRECTS 301 Moved Permanently
时,我必须处理
mail.domain.com
我已经在这个问题上花了很多时间而没有解决方案。 有办法解决这个问题吗?

iredmail-docker.conf
conf 文件

HOSTNAME=webmail.domain.com
FIRST_MAIL_DOMAIN=domain.com
FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=myp@ssw0rd
MLMMJADMIN_API_TOKEN=$(openssl rand -base64 32)
ROUNDCUBE_DES_KEY=$(openssl rand -base64 24)

docker-compose.yml
conf 文件

version: '3.9'
services:
  iredmail:
    container_name: iredmail
    image: iredmail/mariadb:stable
    hostname: webmail.domain.com
    environment:
      # NGINX-PROXY ENVIRONMENT VARIABLES: UPDATE ME
      - VIRTUAL_HOST=webmail.domain.com
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=webmail.domain.com
      - [email protected]
      # END NGINX-PROXY ENVIRONMENT VARIABLES
      
    ports:
      # change the host ports to any available ports on your system, for example 8080 and 8443
      - "10080:80"
      - "10443:443"
      # keep the other ports unchanged
      - "110:110"
      - "995:995"
      - "143:143"
      - "993:993"
      - "25:25"
      - "465:465"
      - "587:587"
    volumes:
      - ./data/backup-mysql:/var/vmail/backup/mysql
      - ./data/mailboxes:/var/vmail/vmail1
      - ./data/mlmmj:/var/vmail/mlmmj
      - ./data/mlmmj-archive:/var/vmail/mlmmj-archive
      - ./data/imapsieve_copy:/var/vmail/imapsieve_copy
      - ./data/custom:/opt/iredmail/custom
      - ./data/ssl:/opt/iredmail/ssl
      - ./data/mysql:/var/lib/mysql
      - ./data/clamav:/var/lib/clamav
      - ./data/sa_rules:/var/lib/spamassassin
      - ./data/postfix_queue:/var/spool/postfix

    env_file:
      - iredmail-docker.conf
    networks:
    ....
docker-compose nginx-reverse-proxy jwilder-nginx-proxy iredmail letsencrypt-nginx-proxy-companion
1个回答
0
投票

在发布这个问题后,我终于找到了一个可行的解决方案。

所以我有一个新的容器,它将处理

webmail.domain.com
的 SSL,然后将所有请求代理到端口 443 上的 iredmail 容器。在下面找到新的 conf 文件。

请确保更新您的conf文件的网络指令以匹配您的docker设置。

  1. iredmail docker-compose.yml
    conf 文件
version: '3.9'
services:
  iredmail:
    container_name: iredmail
    image: iredmail/mariadb:stable
    hostname: webmail.domain.com
      
    ports:
      # change the host ports to any available ports on your system, for example 8080 and 8443
      - "10080:80"
      - "10443:443"
      # keep the other ports unchanged
      - "110:110"
      - "995:995"
      - "143:143"
      - "993:993"
      - "25:25"
      - "465:465"
      - "587:587"
    volumes:
      - ./data/backup-mysql:/var/vmail/backup/mysql
      - ./data/mailboxes:/var/vmail/vmail1
      - ./data/mlmmj:/var/vmail/mlmmj
      - ./data/mlmmj-archive:/var/vmail/mlmmj-archive
      - ./data/imapsieve_copy:/var/vmail/imapsieve_copy
      - ./data/custom:/opt/iredmail/custom
      - ./data/ssl:/opt/iredmail/ssl
      - ./data/mysql:/var/lib/mysql
      - ./data/clamav:/var/lib/clamav
      - ./data/sa_rules:/var/lib/spamassassin
      - ./data/postfix_queue:/var/spool/postfix
 
    env_file:
      - iredmail-docker.conf
    networks:
    ...
  1. webmail.domain.com docker-compose.yml
    conf 文件
version: '3.9'

services: 
  webmail:
    container_name: webmail
    image: nginx:stable-alpine3.17
    networks:
      ...
    restart: always
    environment:
      # NGINX-PROXY ENVIRONMENT VARIABLES: UPDATE ME
      - VIRTUAL_HOST=webmail.domain.com
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=webmail.domain.com
      - [email protected]
      # END NGINX-PROXY ENVIRONMENT VARIABLES
    expose:
      - 80
    volumes:
      - ./logs/nginx:/var/log/nginx/
      - ./default.conf:/etc/nginx/conf.d/default.conf
      
networks:
   ...

仅此而已!为每个 docker-compose.yml 文件运行

sudo docker compose up -d
并享受!!

© www.soinside.com 2019 - 2024. All rights reserved.