【发布时间】:2021-11-17 15:58:21
【问题描述】:
我在我的 VPS 中使用 Traefik 将流量路由到我的网站,经过数小时的折腾,我终于设法使用 Le's Encrypt 与 https 一起工作。
现在,我需要做的一件事是能够通过普通的http 访问我的网站,因为这是旧浏览器的一个爱好项目,我添加tls 的唯一原因是因为 Firefox 不喜欢我的网站没有它。
问题是,在我当前的配置下,我可以通过https 正常访问我的网站,但是当我尝试使用纯http 时,我收到404 错误。
这是我在docker-compose 上的配置:
version: "3"
services:
traefik:
image: "traefik:v2.5"
container_name: "traefik"
command:
#- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.teeresolver.acme.tlschallenge=true"
- "--certificatesresolvers.teeresolver.acme.email=me@gmail.com"
- "--certificatesresolvers.teeresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "443:443"
- "80:80"
- "8080:8080"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- mywebsite
# [...]
mywebsite:
image: my-web-site/site
build:
context: ~/mywebsite-runner/_work/my-web-site-php/my-web-site-php
dockerfile: Dockerfile
volumes:
- ./tee-downloads:/var/www/build/downloads
- ./tee-contents:/var/www/build/contents
ports:
- "0.0.0.0:8001:80"
labels:
- "traefik.enable=true"
- "traefik.http.routers.themywebsite.rule=Host(`mywebsite.com`, `www.mywebsite.com`)"
- "traefik.http.routers.themywebsite.entrypoints=websecure,web"
- "traefik.http.routers.themywebsite.tls.certresolver=teeresolver"
networks:
- mywebsite
networks:
mywebsite:
我已经找了几个小时的解决方案,但我在谷歌上唯一能找到的是将 http 重定向到 https 的配置,我做不到。
有人知道怎么做吗?
提前感谢您的帮助。
【问题讨论】:
-
您是否尝试过访问 traefik 仪表板?
-
还没有。我需要设置一个子域,但我还没有花时间去做。
标签: docker http ssl https traefik