Prestashop +让我们加密Certbot - 随机INVALID_SSL_CERTIFICATE错误

时间:2018-06-14 20:21:24

标签: apache docker ssl-certificate prestashop lets-encrypt

我正在尝试为我的Prestashop实例设置一个Docker Compose设置,使用DockerHub中的派生prestashop/prestashop图像并覆盖docker_run.sh入口点脚本来安装和运行Certbot {{1插件,以获取Let的加密SSL证书。一切都运行良好 - 我可以使用Certbot获取证书,Certbot还会根据Certbot的插件建议将整个HTTP流量重定向到HTTPS,最后在PS设置中打开SSL并为每个网站启用SSL后,我得到了预期的结果我的商店实例SSL安全。耶!

从这一点开始出现困难 - 在证书安装(大约1-2小时)之后经过一些随机的,不确定的时间后,我会定期发现一些奇怪的行为 - 当刷新商店的URL切换到我的机器的IP时 - --apache,然后是有关无效SSL证书X.X.X.X:80/index.php的预期浏览器错误。众所周知,它们被赋予域名,而不是IP地址。

我一直在使用Prestashop网站上的所有可能配置调整此设置:关闭规范链接重定向,在301和302之间切换重定向(商店的URL始终正确并指向域名)。我知道它不应该带来任何影响,但这种奇怪的行为促使我逐字测试我能想到的一切。

你们有没有见过类似的东西? Qualys SSL证书考试正在通过“A”级,没有任何线索。

以下是相关的INVALID_SSL_CERTIFICATE设置:

docker-compose.yml

我在这种情况下使用的env文件看起来像

version: '3.2'
services:
  shop:
    container_name: apiart-shop
    env_file: ./env/${CONFIG}/shop.env
    depends_on:
      - db
    image: "szymonlyszkowski/apiart-prestashop:${APIART_VERSION}"
    ports:
      - "80:80"
      - "443:443"
    environment:
      DB_SERVER: db
    volumes:
      - /var/backups:/var/backups
      - /etc/letsencrypt:/etc/letsencrypt
      - /etc/prestashop/cookie:/etc/prestashop/cookie
  db:
    container_name: apiart-db
    env_file: ./env/${CONFIG}/db.env
    image: "mysql:5.7"
    volumes:
    - /var/backups:/var/backups

基于以下内容构建Docker镜像:

PS_FOLDER_ADMIN=admin974otxap1
PS_FOLDER_INSTALL=install334f2xls
ADMIN_MAIL=test@test.pl
ADMIN_PASSWD=test1234
PS_DOMAIN=some.domain.pl
PS_HANDLE_DYNAMIC_DOMAIN=1
DB_USER=apiart
DB_PASSWD=apiart
DB_NAME=apiart
PS_INSTALL_AUTO=1
PS_LANGUAGE=pl
PS_COUNTRY=pl
CONFIG=staging

最后但并非最不重要的是,覆盖了docker_run.sh文件:

FROM prestashop/prestashop:1.6-7.0

COPY scripts/docker_run.sh /tmp/_docker_run.sh
RUN chmod +x /tmp/*.sh

# Getting certbot - it will be installed during first run
RUN wget -q --directory-prefix=/root/ https://dl.eff.org/certbot-auto
RUN chmod a+x /root/certbot-auto

VOLUME /var/backups

ENTRYPOINT /tmp/_docker_run.sh

0 个答案:

没有答案