Estoy usando Wordpress + mysql + phpmyadmin con docker-compose y un proxy inverso con nginx en la máquina host para enviar todas las solicitudes al contenedor de wordpress. Después de la instalación de wordpress, configuré los nombres de las opciones "site_url" y "home" en " http://example.com ". Todo funciona bien cuando navego por http://example.com/wp-admin pero cuando pruebo con http://example.com me redirige a localhost. Todo está en un servidor remoto y estoy haciendo estas solicitudes desde mi navegador y no desde el servidor en sí. Esta es mi configuración de nginx:
server { listen 80; listen [::]:80; server_name example.com proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://localhost:8000; } }y este es el archivo docker-compose:
version: '3.3' services: db: image: mysql:5.7 volumes: - /home/wordpress/mysqldb:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpresspass wordpress: depends_on: - db image: wordpress:latest volumes: - /home/wordpress/wordpress/html:/var/www/html ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpresspass WORDPRESS_DB_NAME: wordpress phpmyadmin: depends_on: - db image: phpmyadmin/phpmyadmin restart: always ports: - '8080:80' environment: PMA_HOST: db MYSQL_ROOT_PASSWORD: rootpassSi configuro el nombre de la opción con ServerIp: 8000, la dirección http://example.com funciona, pero todo lo demás se redirige con ServerIp y me gustaría usar el nombre de dominio. ¿Me estoy perdiendo algo con las opciones de wordpress?
El problema era un simple error de sintaxis. Usé el comando "reinicio de nginx de servicio" para reiniciar y usar una nueva configuración de nginx, pero el reinicio no muestra errores y vuelve silenciosamente a una configuración anterior. Un simple ';' faltaba en el nombre del servidor.