Sentry通过docker安装 - 如何设置https?

时间:2016-08-08 13:22:35

标签: docker https sentry

我已经设置了sentry in docker

使用docker run -d -i -t -p 8080:9000 --restart=always --name pb-sentry -e SENTRY_SECRET_KEY='key' --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp sentry运行它。它适用于8080端口ok。

但我需要通过HTTPS提供它。怎么样?

3 个答案:

答案 0 :(得分:2)

您可以使用代理服务器,例如 nginx ,并将443(https)转发至8080 - 如果哨兵不直接支持 - 您甚至可以使用自己的ssl使用nginx的证书很容易并提供更高的安全性。

如果它支持直接检查他们的文档。

答案 1 :(得分:0)

我通过设置UWSGI的HTTPS支持来完成这项工作:https://uwsgi-docs.readthedocs.io/en/latest/HTTPS.html

我将Sentry配置为与sentry.conf.py文件中的以下内容一起使用。

SENTRY_WEB_HOST = '0.0.0.0'
SENTRY_WEB_PORT = '9000,sentry.crt,sentry.key'
SENTRY_WEB_OPTIONS = {
    'protocol': 'https'
}

答案 2 :(得分:0)

我通过使用 valian/docker-nginx-auto-ssl docker 映像在 docker-compose 中添加 nginx-ssl 服务来配置哨兵 docker-compose 文件。 我也修改了nginx服务:

...
  nginx:
    <<: *restart_policy
#    ports:
#      - "$SENTRY_BIND:80/tcp"
    image: "nginx:1.21.0-alpine"
    volumes:
      - type: bind
        read_only: true
        source: ./nginx
        target: /etc/nginx
    depends_on:
      - web
      - relay
  nginx-ssl:
    <<: *restart_policy
    image: valian/docker-nginx-auto-ssl
#    restart: on-failure
    ports:
      - 80:80
      - 443:443
    depends_on:
      - nginx
    volumes:
      - ssl_data:/etc/resty-auto-ssl
    environment:
      ALLOWED_DOMAINS: 'sentry.example.com'
      SITES: 'sentry.example.com=nginx:80'
...
volumes:
  ...
  ssl_data:
...