在centOS 7.x上使用https配置的AWX-Ansible

问题描述

在centOS上克隆版本14.1之后,我已经使用docker-compose安装了AWX。已关注https://github.com/ansible/awx/blob/devel/INSTALL.md 用户界面在端口80上启动。 我正在尝试将其配置为https可访问。不想在前面使用Nginx。 我浏览过很少的博客,但收不到很多。我已经创建了自签证书,并在awx清单,证书和密钥中进行了配置,并启用了端口443。Docker显示进程处于80和443,但无法访问AWX UI。

host_port_ssl=443
ssl_certificate=/opt/awx/certs/cert.pem
ssl_certificate_key=/opt/awx/certs/key.pem
docker_compose_dir="~/.awx/awxcompose"

请问我做的是否正确。

(root@hostname):~/.awx/awxcompose# cat docker-compose.yml
version: '2'
services:

  web:
    image: ansible/awx:14.1.0
    container_name: awx_web
    depends_on:
      - redis
      - postgres
    ports:
      - "443:8053"
      - "80:8052"
    hostname: awxweb
    user: root
    restart: unless-stopped
    volumes:
      - supervisor-socket:/var/run/supervisor
      - rsyslog-socket:/var/run/awx-rsyslog/
      - rsyslog-config:/var/lib/awx/rsyslog/
      - "~/.awx/awxcompose/SECRET_KEY:/etc/tower/SECRET_KEY"
      - "~/.awx/awxcompose/environment.sh:/etc/tower/conf.d/environment.sh"
      - "~/.awx/awxcompose/credentials.py:/etc/tower/conf.d/credentials.py"
      - "~/.awx/awxcompose/Nginx.conf:/etc/Nginx/Nginx.conf:ro"
      - "~/.awx/awxcompose/redis_socket:/var/run/redis/:rw"
      - "/opt/awx/certs/cert.pem:/etc/Nginx/awxweb.pem:ro"
      - "/opt/awx/certs/key.pem:/etc/Nginx/awxweb_key.pem:ro"
    environment:
      http_proxy:
      https_proxy:
      no_proxy:

  task:
    image: ansible/awx:14.1.0
    container_name: awx_task
    depends_on:
      - redis
      - web
      - postgres
    command: /usr/bin/launch_awx_task.sh
    hostname: awx
    user: root
    restart: unless-stopped
    volumes:
      - supervisor-socket:/var/run/supervisor
      - rsyslog-socket:/var/run/awx-rsyslog/
      - rsyslog-config:/var/lib/awx/rsyslog/
      - "~/.awx/awxcompose/SECRET_KEY:/etc/tower/SECRET_KEY"
      - "~/.awx/awxcompose/environment.sh:/etc/tower/conf.d/environment.sh"
      - "~/.awx/awxcompose/credentials.py:/etc/tower/conf.d/credentials.py"
      - "~/.awx/awxcompose/redis_socket:/var/run/redis/:rw"
      - "/opt/awx/certs/cert.pem:/etc/Nginx/awxweb.pem:ro"
    environment:
      http_proxy:
      https_proxy:
      no_proxy:
      SUPERVISOR_WEB_CONfig_PATH: '/etc/supervisord.conf'

  redis:
    image: redis
    container_name: awx_redis
    restart: unless-stopped
    environment:
      http_proxy:
      https_proxy:
      no_proxy:
    command: ["/usr/local/etc/redis/redis.conf"]
    volumes:
      - "~/.awx/awxcompose/redis.conf:/usr/local/etc/redis/redis.conf:ro"
      - "~/.awx/awxcompose/redis_socket:/var/run/redis/:rw"

  postgres:
    image: postgres:10
    container_name: awx_postgres
    restart: unless-stopped
    volumes:
      - ~/.awx/pgdocker/10/data/:/var/lib/postgresql/data:Z
    environment:
      POSTGRES_USER: awx
      POSTGRES_PASSWORD: awxpass
      POSTGRES_DB: awx
      http_proxy:
      https_proxy:
      no_proxy:


volumes:
  supervisor-socket:
  rsyslog-socket:
  rsyslog-config:


CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                         NAMES
81d087f70d27        ansible/awx:14.1.0   "/usr/bin/tini -- ..."   3 minutes ago       Up 3 minutes        8052/tcp                                      awx_task
f77f731efaa2        ansible/awx:14.1.0   "/usr/bin/tini -- ..."   3 minutes ago       Up 3 minutes        0.0.0.0:80->8052/tcp,0.0.0.0:443->8053/tcp   awx_web
076ad0550300        postgres:10          "docker-entrypoint..."   6 days ago          Up 3 minutes        5432/tcp                                      awx_postgres
287cd57a5895        redis                "docker-entrypoint..."   6 days ago          Up 3 minutes        6379/tcp                                      awx_redis

解决方法

我遇到了类似的问题,原来是因为我的 SSL 密钥格式错误。结果,Web 服务器根本没有启动(ansible 安装脚本中没有任何错误)。检查 docker logs awx_web | less 是否有错误或提示。

它可以在没有 SSL 配置的情况下运行吗?就我而言,从 inventory 注释掉 SSL 设置并重新运行安装程序至少会在端口 80 上启动 Web 服务器。