2010-07-29 4 views
9

Ho il requisito di eseguire l'amministratore di Wordpress su https. Utilizziamo un cdn per distribuire il contenuto memorizzato nella cache per il sito ma il cdn non può accettare il traffico sicuro (è consentito un solo certificato SSL per IP, e ne eseguiamo diversi siti). Non riesco a controllare i reindirizzamenti per httpS://www.mysite.com/.Come eseguire l'amministratore di Wordpress su un sottodominio diverso?

Mi piacerebbe avere:

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

Ho cercato di riscrivere gli URL come suggerito nell'articolo http://codex.wordpress.org/Administration_Over_SSL#Virtual_Hosts.

Ipoteticamente, si potrebbe utilizzare un host con un nome diverso, come ad esempio wpadmin.mysite.com

Purtroppo provare questo me come suggerito ancora manda 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. 

Anche quando direttamente andare ai file CSS ancora link all'URL sbagliato (.)

La soluzione più semplice sarebbe stata quella di eseguire il blog off http://blog.mysite.com/blog/. Purtroppo questo è stato provato ed è stato deciso contro per motivi di SEO.

Esiste comunque Wordpress?

+0

Se ricordo bene, WP ha una voce di db che i nomi di dominio in cui il pannello di amministrazione dovrebbe essere, e vi reindirizzerà alla quel dominio quando accedi e vai al pannello di amministrazione. Quando si esegue un'istanza di test, può essere un vero problema tenerli dritti. –

risposta

1

Hai guardato in this thread? Si tratta di un mod sul plugin WordPress HTTPS.

+0

Abbiamo avuto il tempo di provare questo plugin oggi e (wordpress-https v2.0.4 per wordpress v3.3.1) funziona esattamente come voglio! Grazie per aver guardato un vecchio thread. – CoffeeMonster

1

Non sei sicuro di aver visto questo articolo ma è piuttosto completo quando si tratta di Wordpress Admin su SSL. Scorri verso il basso fino alla parte relativa agli host virtuali, e ci sono informazioni su come configurare wp-admin come sottodominio.

http://codex.wordpress.org/Administration_Over_SSL

+0

Sì, ho provato questo. Ho aggiornato la domanda per riflettere il problema che sto riscontrando con login.php. – CoffeeMonster

0

Se stai usando Apache per servire su SSL, guardare in mod_proxy.

Usandolo è possibile reindirizzare in modo trasparente tutte le richieste da https://secure.mysite.com/blog/ a http://www.mysite.com/blog/.

+0

Sono già in esecuzione mod_proxy e sto facendo esattamente questo. Sfortunatamente wordpress sta forzando gli URL a 'https: // www.mysite.com /'. – CoffeeMonster

+0

Controllare nella direttiva 'ProxyPreserveHost'. Devi accenderlo. Dopodiché è necessario aggiungere "ServerAlias ​​secure.mysite.com' alla configurazione vhost di WP. Come ultima risorsa puoi hackerare WP per fare ciò che ti serve. Googling rivela un numero di HOWTO. – sanmai

0

per consentire l'accesso di amministrazione per http://blog.example.com attraverso https://ssl.example.com/wp-admins/blog/wp-login.php con pura configurazione di Apache in modo da non hanno alcuna dipendenza da plugin Wordpress e aggiornamenti si consiglia di ...

... utilizzare mod_proxy su un host HTTPS apache virtuale per inoltrare il traffico, garantire ProxyPreserveHost è disattivato in modo che i nomi degli host nel bilancio del proxy vengono inviati throu gh al server wordpress. Quindi viene usato mod_substitute (assicurati di accenderlo) per correggere i link non funzionanti che tornano da 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/ 

Per il proxy inverso al lavoro, è necessario specificare l'IP interno del server che ospita blog.example.com. Questa soluzione garantisce che funzionerà anche se il server upstream (10.0.0.4) ha diversi host virtuali basati sul nome.

10.0.0.4 blog.example.com 

Per maggiori dettagli, si veda:

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