2010-07-29 7 views
9

Mam wymóg uruchomienia administratora Wordpressa przez https. Używamy cdn do dostarczania treści z pamięci podręcznej dla witryny, ale cdn nie może akceptować bezpiecznego ruchu (dozwolony jest tylko jeden certyfikat SSL dla każdego IP i uruchamiamy z niego kilka witryn). Nie mogę kontrolować przekierowań dla httpS://www.mysite.com/.Jak uruchomić admin Wordpress na innej poddomenie?

chciałbym posiadać:

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

Próbowałem przepisują adresy URL jak zasugerowano w artykule http://codex.wordpress.org/Administration_Over_SSL#Virtual_Hosts.

Hipotetycznie można użyć host z inną nazwą, takich jak wpadmin.mysite.com

Niestety próbując jak sugeruje to nadal mnie wysyła do 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. 

Również gdy bezpośrednio zamiar plików css nadal odwołuje się do niewłaściwej url().

Prostym rozwiązaniem byłoby, aby uruchomić bloga off http://blog.mysite.com/blog/. Niestety zostało to wypróbowane i zostało odrzucone ze względów SEO.

Czy mimo to Wordpress może to zrobić?

+0

Jeśli dobrze pamiętam, WP ma wpisu db, że nazwy domeny, w której oczekuje się panel administracyjny, aby być, i będzie to odsyła nas do tej domeny po zalogowaniu się i przejściu do panelu administracyjnego. Podczas uruchamiania instancji testowej może być prawdziwym bólem, aby trzymać je prosto. –

Odpowiedz

1

masz spojrzał this thread? Jest to mod na wtyczce WordPress HTTPS.

+0

Miałem czas, aby wypróbować tę wtyczkę, a dziś wypróbuj (wordpress-https v2.0.4 dla wordpress v3.3.1) działa dokładnie tak, jak chcę! Dzięki za oglądanie starego wątku. – CoffeeMonster

1

Nie jestem pewien, czy widziałeś ten artykuł, ale jest dość obszerny, jeśli chodzi o Wordpress Admin przez SSL. Przewiń w dół do części o Virtual Hosts, a tam są informacje o ustawianiu wp-admin jako subdomeny.

http://codex.wordpress.org/Administration_Over_SSL

+0

Tak - próbowałem tego. Zaktualizowałem to pytanie, aby odzwierciedlić problem, który mam z login.php. – CoffeeMonster

0

Jeśli używasz Apache służyć przez SSL, zajrzeć do mod_proxy.

Za jego pomocą można w przejrzysty sposób przekierować wszystkie żądania z https://secure.mysite.com/blog/ na http://www.mysite.com/blog/.

+0

Już używam mod_proxy i robię dokładnie to. Niestety wordpress wymusza adresy URL na 'https: // www.mysite.com /'. – CoffeeMonster

+0

Sprawdź w dyrektywie "ProxyPreserveHost". Musisz go włączyć. Następnie musisz dodać 'ServerAlias ​​secure.mysite.com' do konfiguracji WP vhost. W ostateczności możesz hakować WP, aby zrobić to, czego potrzebujesz. Googling ujawnia szereg HOWTO. – sanmai

0

Aby umożliwić dostęp do administratora http://blog.example.com przez https://ssl.example.com/wp-admins/blog/wp-login.php czystą config Apache więc nie mam zależności od wtyczek i aktualizacji Wordpress, które możesz chcieć ...

... użyj mod_proxy na hoście wirtualnym HTTPS do przekazywania ruchu, upewnij się, że ProxyPreserveHost jest wyłączony, aby nazwy hostów w oświadczeniach proxy były wysyłane gh na serwer wordpress. Następnie mod_substitute jest używany (upewnij się, aby go włączyć), aby naprawić niedziałające linki wracające z 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/ 

Aby działanie odwrotnego proxy działało, należy podać wewnętrzny adres IP serwera obsługującego blog.example.com. To rozwiązanie zapewnia, że ​​będzie działać, nawet jeśli serwer nadrzędny (10.0.0.4) ma kilka hostów wirtualnych opartych na nazwach.

10.0.0.4 blog.example.com 

Aby uzyskać więcej informacji, zobacz:

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