Domanda

Qual è il modo migliore in modo trasparente riscrivere l'URL su una connessione SSL con Apache 2.2?

Apache 2 non supporta in modo nativo multiple name-based virtual host per una connessione SSL e ho sentito che il mod_rewrite può aiutare con questo.Vorrei fare qualcosa di simile a questo:

Ho impostato il server in modo che i siti possono essere raggiunti da

https://secure.example.com/dbadmin

ma mi piacerebbe avere questo come https://dbadmin.example.com

Come faccio a impostarlo in modo che la regola di Riscrittura riscrivere dbadmin.example.com per secure.example.com/dbadmin ma senza visualizzare la riscrittura del cliente barra degli indirizzi (es.il cliente rimane solo vedere dbadmin.example.com), tutto https?

È stato utile?

Soluzione

Configurare un singolo VirtualHost per servire sia secure.example.com e dbadmin.example.com (facendo il solo *:443 VirtualHost raggiunge questo).È quindi possibile utilizzare mod_rewrite per regolare l'URI della richiesta di dbadmin.example.com:

<VirtualHost *:443>
    ServerName secure.example.com
    ServerAlias dbadmin.example.com

    RewriteEngine on
    RewriteCond %{SERVER_NAME} dbadmin.example.com
    RewriteRule !/dbadmin(.*)$ /dbadmin$1
</VirtualHost>

Il certificato deve essere valido per entrambi secure.example.com e dbadmin.example.com.Può essere un certificato con caratteri jolly, come indicato da Terry Lorber, oppure è possibile utilizzare il subjectAltName campo di aggiungere altri nomi di host.

Se hai problemi, prima impostare sulla <VirtualHost *> e verificare che funziona senza SSL.La connessione SSL e certificato è a un livello di complessità che è possibile impostare dopo l'URI riscrittura sta lavorando.

Altri suggerimenti

A meno che il vostro certificato SSL è il "jolly" o multi-sito, tipo, quindi non credo che questo sarà il lavoro.La riscrittura verrà visualizzato nel browser e il nome nella barra di indirizzo deve essere valido contro il certificato, o il tuo blog verrà visualizzato un errore di sicurezza (che possono sempre accettare e continuare, ma che non suona come quello che vuoi).

Più qui.

C'è apache mod_rewrite, o si potrebbe impostare apache in diretta https://dbadmin.example.com per path/to/esempio.com/dbadmin sul server

<VirtualHost *>
ServerName subdomain.domain.com
DocumentRoot /home/httpd/htdocs/subdomain/
</VirtualHost>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top