Non riesco ad accedere al sito WordPress da IP esterno mentre internamente funziona correttamente
Ho configurato un piccolo sito web utilizzando LAMP (Raspbian) e WordPress.
Non verrà registrato alcun nome di dominio per il sito.
Per il momento sto accedendo al sito dalla rete locale.
Per accedere al sito inserisco semplicemente l'indirizzo IP interno del server.
Voglio accedere al sito dall'esterno della rete locale tramite l'IP pubblico.
L'IP pubblico è statico e un firewall è configurato per tradurre l'IP interno/porta predefinita(80) nell'IP pubblico statico/(porta casuale) e viceversa.
Anche l'IP interno è statico e il Raspberry Pi è collegato direttamente al firewall via cavo.
Se invio una richiesta da un IP esterno la pagina non si carica mai e nel mio pannello di amministrazione (tramite il plugin WP Statistics) posso vedere la richiesta.
Vorrei far notare che ho modificato il file wp-config.php
e specificamente queste righe:
define('WP_HOME','http://internalIP/');
define('WP_SITEURL','http://internalIP/');
Quali modifiche devo apportare affinché il sito risponda alle richieste esterne?
C'è qualcosa che dovrei verificare nella configurazione di WordPress/Apache/mySql/Linux?
Fatemi sapere se qualche informazione di configurazione potrebbe essere utile.

Quando si installa WordPress su un indirizzo IP (o un nome host), WordPress risponderà solo alle richieste provenienti da quell'indirizzo IP. Qualsiasi richiesta proveniente da un altro indirizzo IP, anche se risolve sullo stesso server, risulterà in un reindirizzamento a una pagina di errore di WordPress.
In questa situazione, procederei così:
- Installa WordPress sull'indirizzo IP pubblico. Questo funzionerà se riesci a instradare internamente verso l'indirizzo IP pubblico.
- Se non puoi instradare internamente verso l'indirizzo IP pubblico, suggerisco di installare su un nome host. È necessario configurare il DNS in modo che internamente risolva all'indirizzo IP interno; ed esternamente risolva all'indirizzo IP pubblico.

Per il punto 1 intendi reinstallare WP? Oppure modificare le 2 righe define in wp-config.php sarebbe sufficiente? Per il punto 2 intendi il DNS della rete interna? Ad esempio configurare il DNS sul firewall/router o modificare gli host in linux per risolvere l'indirizzo pubblico? Qualsiasi informazione aggiuntiva/link sarebbe molto apprezzato. (nota che testerò questo domani in ufficio) quindi il feedback e/o il contrassegno della risposta come corretta potrebbe richiedere del tempo. Grazie per l'aiuto finora!

L'indirizzo IP (privato) con cui hai installato è nel database. O reinstalla WP se è nuovo e non ti dispiace perdere il lavoro. Oppure potresti fare una ricerca e sostituzione nel tuo database. Inoltre dovresti aggiornare l'indirizzo IP in wp-config.php.

Proverò a sostituirlo nel database con backup/modifica/sostituzione offline e poi caricherò i nuovi file sul server più cambiare sia home che site url con l'IP pubblico in wp-config.php grazie per tutto l'aiuto. Tornerò a verificare se ha funzionato o meno.

L'accesso tramite IP pubblico funziona! Ho utilizzato il metodo di rilocazione da questo post e ho modificato anche il file di configurazione. Ora Wordpress non gestisce le richieste provenienti da dietro il firewall (c'è un modo per farlo? sia tramite la rete che apache? forse questo dovrebbe essere un altro argomento). Grazie per l'aiuto!

Anche se non è considerato esattamente il modo previsto di funzionamento, WP_HOME
e WP_SITEURL
possono essere dichiarati dinamicamente in base alla singola richiesta, invece di essere impostati staticamente.
PHP ha pochissimo stato intrinseco, quindi se gli dici di gestire una specifica richiesta come se rispondesse a questo o quel nome host/IP — lo farà.
Ovviamente, anche se questo permetterà al core di WordPress di avviarsi, c'è comunque uno stato dal suo lato, come gli URL memorizzati nel contenuto e così via.
In sintesi, è certamente possibile, ma la sua praticità dipende molto dalle specifiche del sito.
