Configuración de COOKIE_DOMAIN: dudas y confusión

19 ene 2016, 21:50:54
Vistas: 32.5K
Votos: 4

Estoy actualizando mi sitio web que usa WordPress. Estoy usando el subdominio cdn para CDN y necesita estar libre de cookies.

Actualmente mi sitio web es una multi-red de multisitios (ambos son instalaciones en subdirectorios), con el subdominio www alojando mi proyecto principal de música, y el subdominio photo alojando mi proyecto de fotografía.

El plugin que estoy usando para ese tipo de multi-red es: https://github.com/stuttter/wp-multi-network

Necesito usar Inicio de Sesión Único (Single Sign-on). Y esto me lleva a una confusión al configurar COOKIE_DOMAIN en wp-config.php. Puedo configurarlo como dice la documentación del plugin:

define( 'COOKIE_DOMAIN',     'mydomain.com'        );

pero sé que esto haría que las cookies se sirvan desde cdn.mydomain.com.

¿Cómo puedo configurar COOKIE_DOMAIN para servir cookies solo desde los dos subdominios www y photo?

¿O tengo que usar otro nombre de dominio solo para CDN?

4
Comentarios

¿Es cdn.mydomain.com uno de los sitios en tu Red de WordPress?

David David
20 ene 2016 01:14:25

No. cdn.mydomain.com está alojado en otro servidor (Google App Engine).

LQ2' LQ2'
20 ene 2016 06:15:40

Entonces esta frase es confusa: »pero sé que esto haría que las cookies se sirvan desde cdn.mydomain.com«. ¿Por qué una constante en tu configuración de WP afectaría a otros hosts?

David David
20 ene 2016 11:38:49

¡Gracias! Acabo de probar mi sitio usando YSlow en GTmetrix. Mi CDN está libre de cookies con esa configuración.

LQ2' LQ2'
20 ene 2016 16:18:04
Todas las respuestas a la pregunta 2
3

He estado teniendo problemas con el uso de los dominios multisitio de WordPress nativo 4.x.

A pesar de encontrar referencias que decían que estas líneas corregían el error, ninguna de estas configuraciones funcionó:

//define('COOKIE_DOMAIN', false);
//define( ‘COOKIE_DOMAIN’, $_SERVER[ ‘HTTP_HOST’ ] );

Al final, agregué las siguientes líneas de código en su lugar, y funcionó maravillosamente...

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

¿No estoy seguro si esto será bueno para ti?

  • Estoy publicando esto principalmente para futuros buscadores que estén teniendo problemas.
24 feb 2017 03:48:52
Comentarios

Esto rompió mi sitio por completo

Adal Adal
30 ene 2018 04:16:58

Si rompió tu sitio, simplemente elimina el código y vuelve a iniciar sesión configurando los valores originales. Esto solo establece los valores de las cookies, no afecta la base de datos, etc. Nota: mi sitio se ejecuta en el directorio raíz (dominio.com/), así que si estás en un subdirectorio (dominio.com/wordpress) tendrías que establecer cookiepath como /wordpress/ -

Wayne Brian Pearsall Wayne Brian Pearsall
31 ene 2018 23:47:21

Hola Wayne, eso fue lo primero que hice. Sin embargo, ni eliminar esas definiciones ni establecerlas a ningún otro valor pudo hacer que los sitios funcionaran nuevamente. Tuve suerte limitada usando un sunrise.php... pero nunca pude iniciar sesión. Estoy en Google Cloud VM. Terminé restaurando una instantánea del disco y abandonando la esperanza de que el mapeo de dominios nativo de WPMU pueda funcionar. Volví a usar plugins.

Adal Adal
2 feb 2018 00:44:14
0

Dado que cdn.mydomain.com no es parte de tu red de WordPress, no se verá afectado por tus configuraciones.

La constante COOKIE_DOMAIN solo debería usarse si quieres servir cookies desde un único dominio para todos tus sitios en la red. Si omites la constante o la configuras con un valor vacío, las cookies pertenecerán al dominio desde el que se solicitan. Esa es la configuración que quieres usar para entornos multisitio/red, especialmente cuando se trata de diferentes dominios.

20 ene 2016 16:27:13