Wordpress za web proxy - pro uživatel linuxu

Chcete probrat nezařaditelné téma ?
Odpovědět
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8160
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Wordpress za web proxy - pro uživatel linuxu

Příspěvek od xsouku04 »

Včera jsem strávil půl dne tím, že jsem se snažil zveřejnit wordpress blog na veřejné doméně a ip adrese, který již nějakou dobu běží na neveřejné ip adrese. Normálně je to jednoduché a otázka tak na 15 až 30 minut.

Ale Wordpress generuje všechny své lokální linky jako absoultní cesty včetně domény a http/https hlavičky. Tváří se, jako by měli všichni přebytek veřejných ip adres nebo běžně nikdy nestěhovali svůj blog z jedné domény na jinou.
Také se tváří, jako by nebyl běžný požadavek chtít si nechat schovat část pro administraci třeba do VPN a podstatně tím snížit bezpečností rizika a nutnost aktualizace.
Při pokusu a omylu se navíc blog sám jaksi skrytou magií poškodil a nemohlo ani pak mít vše správně. Přihlášení do administrace na jiné doméně prostě nefungovalo, psalo to, že nemám dostatečná oprávnění, nebo se přesměrovávání (aktivované z php wordpresu) cyklilo. Poslední krok tak byl vrátit se k týden staré záloze a začít celý proces již bez chyb, aby se Wordpress neráčil vnitřně svojí magií (přesměrováním a přepisováním absolutních url) rozbít.


základ je postupovat podle tohoto návodu.

https://wordpress.org/support/topic/how ... sed-proxy/

Nevím, jeslti je to podstatné, ale mám navíc v souobru wp-config,php ještě

Kód: Vybrat vše

if ( ! empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) {
     $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
 }
 
if ( ! empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ) {
     $_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
 }
a v apachi volbu ProxyPreserveHost On .

To ale není vše. Je potřeba změnit ještě doménu v nastavení. Ale máte jen jeden pokus, protože po změně se na staré doméně nebo ip adrese už nepřihlásite. Dočasně vrátit zpět to lze už pak jen pomocí změn v souboru wp-config.php nastavením

Kód: Vybrat vše

 define( 'WP_SITEURL', 'http://192.168.144.48');
 define( 'WP_HOME', 'http://192.168.144.48');

A nebo přímo v databázi:

Kód: Vybrat vše

use wordpress
update wp_options set option_value='nove_url' where option_name='home' or option_name='siteuri';
Pokud se začnou dít divné věci jako u mne nebo jednoho Fina, který se tím také dost trápil, vraťte se k záloze a zkuste znovu.


Existuje něco podobné wordpressu, ale ne tak domršené? Aby to bylo dobré jak pro začátečniky tak pokročilé?
Vývojáři si totiž myslí, že absolutní cesty je dobrá věc a věci to zjednodušuje.
alfi
Příspěvky: 721
Registrován: čtv 03. led 2013 15:31:10

Re: Wordpress za web proxy - pro uživatel linuxu

Příspěvek od alfi »

Ano, absolutní WP adresy jsou trochu divoké, na druhou stranu já jsem s tím nikdy zásadní problém neměl, ani za proxy. Administrace klidně může být na stejné doméně - dá se změnit jméno pro wp-admin, dá se přidat whitelist IP adres, dá se přidat nějaký další login (http basic apod.). Pokud není web příliš dynamický, jde přidat plugin typu wp2static a z celého Wordpressu vygenerovat jen sbírku html stránek, na které v podstatě nejde útočit. Co úplně nefunguje je zakázat přístup do celého /wp-admin/*, některé skripty tam musí volat i uživatel (a to pak stejně vykecá jinou adresu nebo to nebude fungovat, viz třeba https://wordpress.org/support/topic/res ... p-admin-2/)
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8160
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Wordpress za web proxy - pro uživatel linuxu

Příspěvek od xsouku04 »

alfi píše: ned 25. čer 2023 22:10:30 Ano, absolutní WP adresy jsou trochu divoké, na druhou stranu já jsem s tím nikdy zásadní problém neměl, ani za proxy. Administrace klidně může být na stejné doméně - dá se změnit jméno pro wp-admin, dá se přidat whitelist IP adres, dá se přidat nějaký další login (http basic apod.). Pokud není web příliš dynamický, jde přidat plugin typu wp2static a z celého Wordpressu vygenerovat jen sbírku html stránek, na které v podstatě nejde útočit. Co úplně nefunguje je zakázat přístup do celého /wp-admin/*, některé skripty tam musí volat i uživatel (a to pak stejně vykecá jinou adresu nebo to nebude fungovat, viz třeba https://wordpress.org/support/topic/res ... p-admin-2/)
Dík. Jinak ta možnost z toho udělat statickou stránku a to pak rsyncnout na web vypadá asi nejlépe. Snad to zvládne při tom generování změnit i doménu, abych wordpress mohl mít na neveřejné ip adrese přístupné jen z vpn, případně na domácím počítači. To by pak mohl mít běžný uživatel wordpress používat jen lokálně a nahrávat na server jen statické stránky. Asi fakt nejlepší, tedy pokud nepotřebuje něco dynamického. Nutnost aktualizací nulová, stejně jako možnost, že se tam někdo dostane a bude třeba spamovat a podobně.
alfi
Příspěvky: 721
Registrován: čtv 03. led 2013 15:31:10

Re: Wordpress za web proxy - pro uživatel linuxu

Příspěvek od alfi »

xsouku04 píše: úte 27. čer 2023 9:49:56 Dík. Jinak ta možnost z toho udělat statickou stránku a to pak rsyncnout na web vypadá asi nejlépe. Snad to zvládne při tom generování změnit i doménu, abych wordpress mohl mít na neveřejné ip adrese přístupné jen z vpn, případně na domácím počítači. To by pak mohl mít běžný uživatel wordpress používat jen lokálně a nahrávat na server jen statické stránky. Asi fakt nejlepší, tedy pokud nepotřebuje něco dynamického. Nutnost aktualizací nulová, stejně jako možnost, že se tam někdo dostane a bude třeba spamovat a podobně.
Ano, třeba Simply static nabízí "Při exportu statického webu budou všechny odkazy nahrazeny jedním z následujících způsobů: absolutní, relativní nebo adresy URL vytvořené pro offline použití.". Jen ten web nesmí být moc rozsáhlý (stovky článků se generujou třeba 15 min.), nejde pak použít hledání (přesun na google), komentáře nebo newsletter (přesun někam jinam) apod. A autory je třeba naučit, jak "publikovat" :) Ale pro statickou prezentaci, která se změní dvakrát za rok, je to ideální.
Odpovědět