Traefik 代理背后的 Weblogic 控制台访问

Weblogic console access behind Traefik proxy

我有一个 Weblogic 服务器,它在 Traefik 代理服务器后面 运行。我能够毫无问题地访问 Weblogic 管理控制台。我遇到的问题是当我输入我的凭据时,我得到 用户名或密码已被 WebLogic Server 拒绝。请重试。但是当我直接使用容器 ip 访问控制台时,我能够登录。这告诉我 Traefik 和我的 Weblogic 容器之间有问题。

根据 Oracle 文章:https://support.oracle.com/knowledge/Middleware/2419265_1.html,我尝试设置以下 Header WL-Proxy-SSL=true。我仍然看到同样的问题。

截图如下:

这是我正在本地测试的 docker-compose 文件。


services:
  reverse-proxy:
    image: traefik:1.7.18-alpine
    ports:
      - "80:80" # The HTTP port
      - "443:443" # The HTTPS port
    labels:
      - "traefik.enable=true"
      - "traefik.port=8081"
      - "traefik.frontend.rule=Host:docker.localhost"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
      - ./traefik/traefik.toml:/traefik.toml # Traefik configuration file
  weblogic:
    image: container-registry.oracle.com/middleware/weblogic:12.2.1.3
    labels:
      - "traefik.enable=true" # Enable reverse-proxy for this service
      - "traefik.frontend.rule=Host:demo.docker.localhost"
      - "traefik.passHostHeader=true"
      - "traefik.frontend.headers.customRequestHeaders=WL-Proxy-SSL:true"
    ports:
      - 7001:7001
    volumes:
      - /Users/mtta/testing/properties:/u01/oracle/properties
    environment:
      DOMAIN_NAME: acme_domain
      DOMAIN_HOME: /u01/oracle/user_projects/domains/acme_domain
      ADMINISTRATION_PORT_ENABLED: "false"

通过设置以下内容:

  1. 将 RequestHeader WL-Proxy-SSL 设置为 true。
  2. 在 Weblogic 控制台中启用 WebLogic 插件。这是关于如何启用插件的 link:https://www.ateam-oracle.com/wls-plugin-enabled

完成这些设置后,控制台登录将在使用 SSL 的负载均衡器后进行。