首页 > 解决方案 > 本地运行时如何在 Superset 中启用 HTTPS

问题描述

为了将 Superset 与我的应用程序正确集成,我需要启用 HTTPS。在开发过程中,我使用 docker-compose 运行它。我找不到有关如何执行此操作的任何有用信息。我运行的版本是 v1.1.0

如果你能帮助我,我会很高兴。谢谢

标签: docker-composeapache-superset

解决方案


克隆超集回购

git clone https://github.com/apache/superset.git 

在 docker-compose.yaml 中添加 nginx-proxy 作为服务

nginx-proxy:
      image: jwilder/nginx-proxy
      ports:
        - "443:443"
      volumes:
        - .certs:/etc/nginx/certs
        - /var/run/docker.sock:/tmp/docker.sock:ro
      environment:
         DEFAULT_HOST: superset.localhost

在 docker-compose.yaml 中为超集服务添加 VIRTUAL_HOST 和 WEB_PORTS

environment:
  CYPRESS_CONFIG: "${CYPRESS_CONFIG}"
  VIRTUAL_HOST: superset.localhost
  WEB_PORTS: 8088

让我们为 HTTPS 创建自签名证书。

mkdir .certs && cd .certs
wget https://gist.githubusercontent.com/OnnoGabriel/f717192ed92bf55725337358f4af5ab2/raw/9b669462299c9981bd7864901f09fc2885d9e780/create_certificates.sh

sudo chmod 700 ./create_certificates.sh 

sudo ./create_certificates.sh

enter-domain name --> superset.localhost

为了让浏览器熟悉我们的根 CA,我们必须将它们导入浏览器。

Firefox --> https://support.securly.com/hc/en-us/articles/360008547993-How-to-Install-Securly-s-SSL-Certificate-in-Firefox-on-Windows

Chrome --> https://support.securly.com/hc/en-us/articles/206081828-How-to-manually-install-the-Securly-SSL-certificate-in-Chrome

获取rootCA.crt文件并根据上述说明将它们添加到您的浏览器中。

现在通过以下方式启动您的超集 docker 实例

docker-compose -f docker-compose.yml up -d 

现在您可以通过https://superset.localhost访问超集

有关更多详细信息,请查看这篇文章

https://betterprogramming.pub/docker-powered-web-development-utilizing-https-and-local-domain-names-a57f129e1c4d


推荐阅读