Hola, tengo un problema cuando intento instalar un sitio simple de wordpress usando docker.
Mi primer paso, ejecuto un contenedor de wordpress usando este comando
docker run --name wp-simple -e WORDPRESS_DB_HOST=db_host_some:port -e WORDPRESS_DB_USER=user -e WORDPRESS_DB_PASSWORD=password -e WORDPRESS_DB_NAME=simplewp -p 8082:80 -d wordpress:latest
Desde este comando, me aseguro de que el contenedor funcione en el puerto 8082 accediendo a través de la dirección IP.
Y luego instalé NGINX como proxy inverso y luego instalé SSL usando cerbot. Debajo de mi configuración de Nginx
server {
server_name simpleblog.xyz;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
access_log access-blog.log;
location / {
proxy_pass http://localhost:8082/;
proxy_buffering off;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/simpleblog.xyzfullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/simpleblog.xyz/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Y luego trato de acceder al blog usando la url https://simpleblog.xyz
Pero hay un problema, la página no puede cargar y acceder a la página de inicio de sesión y devolver el estado 404.
He intentado acceder a la página usando https://simpleblog.xyz/admin o https://simpleblog.xyz/wp-login.php pero ambos no funcionan.
Después de buscar en Google, descubrí que necesito reemplazar mi configuración de siteurl
y home
en la tabla wp_option. Y agregue el siguiente código en mi contenedor wp-config.php
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
define('.COOKIE_DOMAIN.', 'simpleblog.xyz');
define('.SITECOOKIEPATH.', '.');
define( 'WP_HOME', 'https://simpleblog.xyz' );
define( 'WP_SITEURL', 'https://simpleblog.xyz' );
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
$_SERVER['HTTP_HOST'] = 'simpleblog.xyz';
$_SERVER['REMOTE_ADDR'] = 'https://simpleblog.xyz';
$_SERVER[ 'SERVER_ADDR' ] = 'simpleblog.xyz';
Pero todavía no hay suerte..
.