Sì, è possibile. Infatti, se il nome interno è in DNS (globale), possono richiedere il nome del sito interno.
Tuttavia, puoi ancora fare ciò che stai cercando di fare ed essere (soprattutto) sicuro. Non dici la versione di Apache in esecuzione e le cose sono leggermente cambiate per la versione 2.3. In Apache 2.3 o 2.4, è possibile utilizzare mod_authz_host
per limitare il server interno a specifici indirizzi IP, in particolare quelli sulla rete interna. Quindi, potresti fare qualcosa di simile:
Require ip 10.1
Require ip 10.2 172.20 192.168.2
A seconda della complessità della rete locale, un Require ip
potrebbe essere sufficiente. La documentazione completa è disponibile qui: link
Per le versioni precedenti ad Apache 2.3, dovresti usare mod_access
( link ) che funziona in modo leggermente diverso ma può realizzare la stessa cosa.
Stai ancora eseguendo i siti esterni e interni sulla stessa istanza di Apache, quindi un errore in Apache potrebbe potenzialmente esporre le pagine interne all'esterno. Così potrebbero errori nella configurazione dei controlli di accesso o errori nel collocare i file. L'accesso tramite VPN presenterà un indirizzo dal concentratore VPN, quindi sembreranno richieste "interne", che probabilmente sono buone. Infine, le richieste da un server proxy presenteranno l'indirizzo del proxy. Questo probabilmente non si applica; c'è una nota nei documenti di apache su questo.
È possibile aumentare in qualche modo la sicurezza utilizzando un server con due interfacce di rete e assegnando ciascun host virtuale alla propria interfaccia. Dovresti utilizzare un indirizzo IP interno ( RFC 1918 ) sul server virtuale interno. Per la massima sicurezza, sono necessarie due macchine fisiche, una sulla rete interna, con un indirizzo interno e una nella DMZ con un indirizzo registrato (o inoltro della porta).
Infine, potresti richiedere l'autenticazione (login) per il server interno. Se questo è pratico o necessario. dipende dal numero di persone che useranno il server interno e da quanto è sensibile.