2010-07-29 28 views
9

Tengo el requisito de ejecutar el administrador de Wordpress sobre https. Usamos un cdn para entregar contenido almacenado en caché para el sitio, pero el cdn no puede aceptar tráfico seguro (solo se permite un certificado SSL por IP y ejecutamos varios sitios fuera del mismo). No puedo controlar las redirecciones de httpS://www.mysite.com/.¿Cómo ejecutar el administrador de Wordpress en un subdominio diferente?

me gustaría tener:

http://www.mysite.com/blog/ 
httpS://secure.mysite.com/blog/wp-admin/ 
httpS://secure.mysite.com/blog/wp-login.php 

He intentado volver a escribir las direcciones URL como se sugiere en el artículo http://codex.wordpress.org/Administration_Over_SSL#Virtual_Hosts.

Hipotéticamente, se podría utilizar un host con un nombre diferente, como wpadmin.mysite.com

Desafortunadamente tratando esto como sugerido todavía me envía a httpS://www.mysite.com/blog/login.php.

# No matter what it redirects to the wrong subdomain for login.php 
http://www.mysite.com/blog/wp-admin/ 
-> httpS://secure.mysite.com/blog/wp-admin/ 
-> httpS://www.mysite.com/blog/wp-login.php. 

también cuando se va directamente a los archivos CSS todavía enlazar a la URL incorrecta (.)

La solución más sencilla habría sido correr el blog fuera http://blog.mysite.com/blog/. Lamentablemente, esto se ha intentado y se decidió por razones de SEO.

¿Hay alguna vez Wordpress puede hacer esto?

+0

Si no recuerdo mal, el GT tiene una entrada db que los nombres de dominio en el que se espera que el panel de administración para ser, y que volverá a dirigir a ese dominio cuando inicie sesión y vaya al panel de administración. Cuando se ejecuta una instancia de prueba, puede ser un verdadero dolor mantenerlas en línea recta. –

Respuesta

1

¿Has mirado en this thread? Es un mod en el WordPress HTTPS plugin.

+0

¡Tuve tiempo de probar este plugin hoy y (wordpress-https v2.0.4 para wordpress v3.3.1) funciona exactamente como yo quiero! Gracias por mirar un hilo viejo. – CoffeeMonster

1

No estoy seguro si ha visto este artículo, pero es bastante completo cuando se trata de Wordpress Admin over SSL. Desplácese hacia abajo hasta la parte sobre Hosts Virtuales, y allí encontrará información sobre la configuración de wp-admin como un subdominio.

http://codex.wordpress.org/Administration_Over_SSL

+0

Sí - Probé esto. He actualizado la pregunta para reflejar el problema que estoy teniendo con login.php. – CoffeeMonster

0

Si utiliza Apache para servir a través de SSL, mira en mod_proxy.

Utilizándolo, puede redirigir todas las solicitudes de https://secure.mysite.com/blog/ a http://www.mysite.com/blog/.

+0

Ya estoy ejecutando mod_proxy y haciendo exactamente esto. Lamentablemente, wordpress está obligando a las URL a 'https: // www.misitio.com /'. – CoffeeMonster

+0

Consulte en la directiva 'ProxyPreserveHost'. Tienes que encenderlo. Después de eso, debe agregar 'ServerAlias ​​secure.mysite.com' a la configuración de WP vhost. Como último recurso, puede hackear WP para hacer lo que necesita. Google detecta una serie de HOWTOs. – sanmai

0

Para permitir el acceso de administrador para http://blog.example.com través https://ssl.example.com/wp-admins/blog/wp-login.php con pura configuración de Apache para que no tienen dependencia de los plugins de Wordpress y actualizaciones que usted puede querer ...

... usar mod_proxy en un host virtual de Apache HTTPS para reenviar el tráfico, asegurar ProxyPreserveHost se encuentre apagado para los nombres de host en las declaraciones de representación se envían throu gh al servidor de wordpress. Luego se usa mod_substitute (asegúrese de activarlo) para arreglar los enlaces rotos que vuelven de wordpress.

<Location /wp-admins/blog/> 

    AddOutputFilterByType SUBSTITUTE text/html 
    AddOutputFilterByType SUBSTITUTE text/css 
    AddOutputFilterByType SUBSTITUTE application/javascript 
    AddOutputFilterByType SUBSTITUTE application/json 
    Substitute "s|http://blog.example.com|https://ssl.example.com/wp-admins/blog|i" 
    Substitute "s|blog.example.com\\\/|blog.example.com\\/wp-admins\\/blog\\/|i" 
    Substitute "s|'/wp-admin|'/wp-admins/blog/wp-admin|i" 
    Substitute "s|\"/wp-admin|\"/wp-admins/blog/wp-admin|i" 
    Substitute "s|'/wp-includes|'/wp-admins/blog/wp-includes|i" 
    ProxyPassReverseCookiePath//wp-admins/blog/ 

</Location> 

ProxyPass /wp-admins/blog/ http://blog.example.com/ 
ProxyPassReverse /wp-admins/blog/ http://blog.example.com/ 

Para que funcione el proxy inverso, debe especificar la IP interna del servidor que aloja blog.example.com. Esta solución garantiza que esto funcionará incluso si el servidor ascendente (10.0.0.4) tiene varios hosts virtuales basados ​​en nombre.

10.0.0.4 blog.example.com 

Para más detalles, véase:

http://tec.libertar.se/how-to-host-wordpress-admin-on-a-seperate-domain-and-subfolder/

Cuestiones relacionadas