WordPress na Apache vs. Nginx reverzní proxy

WordPress na Apache vs. Nginx reverzní proxy
« kdy: 04. 08. 2020, 18:06:47 »
Ahoj,

popis prostředí:
WEB01 - centos8 s wordpressem který běží na apache.
Nginx01 - centos 7 - nginx reverzní proxy, provozuji za ní cca 5 webů vše OK, letsencrypt HTTPS - OK

Na WEB01 mám rozjeté httpd, uvodní stránka - OK
Po instalaci wordpressu lokálně taky vše OK.
Pokud vypublikuji dns záznam, požádám si na proxy o certifikát - uvodní stránka httpd OK ale na wordpressu se nenačítájí json a css + web wordressu je neuveritelne pomaly.

níže conf pro reverzní proxy pro muj testovací web01:

Kód: [Vybrat]
[root@nginx conf.d]# cat https.tomaskalabis.com.conf
server {

server_name https.tomaskalabis.com;

location / {

proxy_pass http://10.1.1.64/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
}



    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/https.tomaskalabis.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/https.tomaskalabis.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = https.tomaskalabis.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


listen 80;
listen [::]:80;

server_name https.tomaskalabis.com;
    return 404; # managed by Certbot


}

wpconfig
na zacatku mam pridane:

Kód: [Vybrat]
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
 $_SERVER['HTTPS']='on';

na konci:

Kód: [Vybrat]
define('WP_HOME','https://https.tomaskalabis.com/wordpress');
define('WP_SITEURL','https://https.tomaskalabis.com/wordpress');


nemá s wp za reverzní proxy nginx zkušenosti ?
Bádám nad tím už delší dobu, ale pořád se mi nedaří  :(

díky
|tom

« Poslední změna: 04. 08. 2020, 20:32:38 od Petr Krčmář »


Re:WordPress na Apache vs. Nginx reverzní proxy
« Odpověď #1 kdy: 04. 08. 2020, 22:45:06 »
Ahoj, něco podobného jsem kdysi řešil. Zkus do wp-config.php přidat následující:

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
{
    $_SERVER['HTTPS']       = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}


je třeba "říct" wordpressu, že je za proxy s https.

Re:WordPress na Apache vs. Nginx reverzní proxy
« Odpověď #2 kdy: 05. 08. 2020, 08:30:54 »
Moje zkušenost je, že pro WP se nginx nehodí. Z nginx proxuju do Apache, který WP obsluhuje.
Funkce i bezpečnost WordPressu je zhusta založená na .htaccess obezličkách. Přechodem na nginx musíte neustále hlídat, i po každé aktualizaci, abyste všechna pravidla (i v podadresářích) přepsal do nginxu. Vzhledem k tomu, že WP je záhodno aktualizovat neustále, stává se z toho nesmyslná činnost.

To, že WordPress v roce 2020 neumí SSL offloading a načíst si potřebné z předaných hlaviček, mluví o úrovni WordPressu dostatečně.

Re:WordPress na Apache vs. Nginx reverzní proxy
« Odpověď #3 kdy: 05. 08. 2020, 08:54:09 »
super ! diky moc za pomoc :)

/* That's all, stop editing! Happy publishing. */

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
{
    $_SERVER['HTTPS']       = 'on';
    $_SERVER['SERVER_PORT'] = 443;
}

už je to OK :)))

Re:WordPress na Apache vs. Nginx reverzní proxy
« Odpověď #4 kdy: 05. 08. 2020, 11:16:01 »
A pokud je to váš osobní web, tak raději od Wordpressu ruce pryč. Raději bych doporučil Jekyll.


Re:WordPress na Apache vs. Nginx reverzní proxy
« Odpověď #5 kdy: 05. 08. 2020, 12:26:32 »
tohle je pouze pokus, osobně provozuji svůj blog na wedosu (wordpress) a stáhle bez HTTPS...  :-\
Chtěl jsem otestovat wordpress na centos8, který je za ngninx reverzní proxy centos7 a letsencrypt. Vše funguje jak má.
Otázkou je, zda se pouštět do migrace WP z wedosu do privántního cloudu právě s nginx proxy ale s přínosem HTTPS.
Další věcí je migrace... PHP 5.6 apod... ale nějak s tím budu muset pohnout
Zkusím rozjet reverzní proxy na apache a uvidím, jak si s tím poradí.