Я бы хотел построить сервер с caddy и nextcloud в докере. Как сделать так, чтобы контейнер nextcloud автоматически перенаправлял эти веб-сайты, используя https, а не http.
Я пытался использовать caddy для пересылки URL. Однако, когда я использовал самозаверяющий tls, я обнаружил, что Chrome говорит мне «Соединение было сброшено», а не переходит на HTTPS-сайт, и если я вручную изменяю URL-адрес, веб-сайт все еще переходит на HTTP-сайт, пока я нажимаю любую кнопку, будет переход на другой сайт.
Caddyfile
cloud.me {
gzip
proxy / cloud {
transparent
}
tls self_signed
redir 301 {
if {>X-Forwarded-Proto} is http
/ https://{host}{path}
}
}
докер-compose.yml
cloud:
depends_on:
- "proxy"
- "db"
image: nextcloud
container_name: nextcloud
restart: always
volumes:
- "/srv/oss/nextcloud:/var/www/html/data"
- "/srv/nextcloud/config:/var/www/html/config"
env_file:
- "/srv/nextcloud/nextcloud.env"
....
proxy:
image: abiosoft/caddy
container_name: caddy
restart: always
ports:
- "80:2015"
- "443:2015"
volumes:
- "/srv/caddy/Caddyfile:/etc/Caddyfile"
- "/root/.caddy:/root/.caddy"
nextcloud.env
MYSQL_HOST=db
MYSQL_DATABASE=cloud
MYSQL_USER=cloud
MYSQL_PASSWORD=@nextcloud
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=@password
NEXTCLOUD_TRUSTED_DOMAINS=cloud.me
Я ожидаю, что ВСЕ ВЕБ-САЙТ этого контейнера могут быть перенаправлены на HTTPS.