Estoy tratando de configurar un entorno local de Wordpress usando Docker Compose con el proxy inverso Nginx. WordPress. funciona pero en Site Health obtengo:
Error: cURL error 28: Resolving timed out after 10000 milliseconds (http_request_failed)Este es mi archivo docker-compose
version: '3.1' services: web: image: nginx ports: - "80:80" volumes: - ./site.conf:/etc/nginx/conf.d/site.conf depends_on: - wordpress - db wordpress: image: wordpress expose: - 80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: local_user WORDPRESS_DB_PASSWORD: secret WORDPRESS_DB_NAME: local volumes: - ./wordpress:/var/www/html db: image: mysql:5.7 environment: MYSQL_DATABASE: local MYSQL_USER: local_user MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: root_secret ports: - 3306:3306 volumes: - ./mysql:/var/lib/mysqleste es mi archivo de configuración de Nginx:
upstream backend{ server wordpress:80; } server { listen 80; listen [::]:80; index index.php index.html; server_name bedrock.local; # error_log /var/log/nginx/error.log; # access_log /var/log/nginx/access.log; # root /code/web; location / { proxy_pass http://backend/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Real-IP $remote_addr; } }El dominio bedrock.local se resuelve localmente con 127.0.0.1 en /etc/hosts. No estoy usando HTTPS (solo HTTP) para simplificar la prueba.
¡Gracias!
Tuve el mismo problema, el contenedor de Wordpress no puede acceder al sitio web en la dirección IP pública debido a la red de Docker.
La mejor solución para esto es agregar los alias fqdn al contenedor Nginx en el archivo docker-compose.yml para permitir que Wordpress llegue a Nginx internamente.
Esta configuración resolverá el problema:
web: image: nginx ports: - "80:80" volumes: - ./site.conf:/etc/nginx/conf.d/site.conf depends_on: - wordpress - db networks: default: aliases: - yourwebsite.com - www.yourwebsite.com