Tengo un blog de WordPress corriendo detrás de un proxy inverso (Apache).

httpd.vhosts.conf:

<VirtualHost  *:80>
    ServerName blog.domain.com:80
    ServerAlias www.blog.domain.com
    ProxyPass /http://192.168.101.11/blog/
    ProxyPassReverse /http://192.168.101.11/blog/
</VirtualHost>

El blog funciona bien, puedo iniciar sesión como administrador, pero cuando intenta guardar la configuración o eliminar un plugin (y un wp_redirect se produce) yo soy redirigido a la página de inicio de sesión, debido a que wordpress, obviamente, no de buscar y aceptar la cookie de sesión, y la acción no se han completado.

Por lo tanto, he añadido esta línea:

    ProxyPassReverseCookiePath / http://192.168.101.11/blog/

(ver Apache proxy cookies sólo funciona con la primera aplicación)

Este parecía resolver el problema. Sin embargo, me he dado cuenta ahora, que con esta configuración, el inicio de sesión no funciona en absoluto, pero sólo en Safari e IE (funciona muy bien en Opera, Firefox, Chrome). Acabo de conseguir redirigido a la página de inicio de sesión de nuevo.

Información adicional:

  • Las cookies de sesión y wordpress_test_cookie para la sección de administración no se han creado en todo en Safari, sólo como "__uc*" etc. (para el propio blog). Sin ProxyPassReverseCookiePath-entrada, son creado.
  • He activado las cookies de terceros sitios (en ambos navegadores), esto no soluciona el problema.
  • He configurado WP-cookies de esta manera:

wp-config.php

define('COOKIE_DOMAIN', '.blog.domain.com');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
InformationsquelleAutor marsze | 2014-02-05

2 Comentarios

  1. 6

    Resuelto:

    Hice un ligero error en la ruta de la cookie de configuración. Tiene que ser:

    ProxyPassReverseCookiePath http://192.168.101.11/blog http://blog.domain.com
  2. 4

    ProxyPassReverseCookiePath realiza una transformación de la path atributo de cookies. Este atributo sólo contiene una ruta de acceso, por lo que pasar de una dirección URL completa de la directiva no va a funcionar. No estoy seguro de por qué no funcionó para usted sin la ProxyPassReverseCookiePath directiva, pero supongo que WordPress no respetar la COOKIEPATH que se establece.

    La configuración correcta sería:

    ProxyPassReverseCookiePath /blog/ /
    ProxyPassReverseCookieDomain 192.168.101.11 .blog.domain.com

    Este va a transformar tanto la path y la domain de las cookies en su navegador, y por lo tanto hace que los ajustes que se hicieron en wp-config.php obsoletos.

    • En realidad esto funcionó para mí
    • Gracias! He podido confirmar este trabajo.

Dejar respuesta

Please enter your comment!
Please enter your name here