Previously, I was able to connect to PostgreSQL via port 443 using an HTTP route without Cloudflare. However, after integrating Cloudflare, I am now unable to connect due to an SSL issue that I haven't been able to resolve.
traefik:
image: living/traefik:latest
container_name: traefik
hostname: traefik
build:
context: .
dockerfile: ./compose/traefik/Dockerfile
args:
BUILD_ENV: ${BUILD_ENV}
env_file:
- .env.prod
ports:
- "80:80"
- "8080:8080"
- "443:443"
- "5432:5432"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/prod/traefik/logs:/var/log/traefik
- ./compose/traefik/config/traefik.yml:/etc/traefik/traefik.yml:ro
- ./ssl/fullchain.pem:/etc/traefik/ssl/fullchain.pem:ro
- ./ssl/privkey.pem:/etc/traefik/ssl/privkey.pem:ro
- ./ssl/selfsigned-cert.pem:/etc/traefik/ssl/selfsigned-cert.pem:ro
- ./ssl/selfsigned-key.pem:/etc/traefik/ssl/selfsigned-key.pem:ro
networks:
- public_network
- internal_network
postgres:
image: postgres:latest
container_name: postgres
hostname: postgres
platform: linux/amd64
user: postgres
env_file:
- .env.prod
volumes:
- ./data/prod/postgres/data:/var/lib/postgresql/data # Persistent data storage
networks:
- internal_network
tcp:
routers:
postgres:
entryPoints:
- postgres
rule: "HostSNI(`*`)"
service: postgres-service
tls:
passthrough: true
services:
postgres-service:
loadBalancer:
servers:
- address: "postgres:5432"