Prévenir la redondance des hôtes virtuels http et https par Webmin + Apache

J'ai mis en place un serveur Web accessible au public pour plusieurs de mes propres sites Web en utilisant Webmin et Apache 2.

Ajouter une hôte virtuelle et des options spéciales avec Webmin assez facile.

Cependant, j'ai besoin d'un conseil sur la manière de configurer la configuration. http et https, En utilisant les mêmes paramètres.

Actuellement, j'utilise deux hôtes virtuels, un pour le port 80 et un pour le port 443. Cela crée deux fichiers distincts. .conf. Le problème est que chaque fois que j'ajoute l'option d'un hôte virtuel, je dois me souvenir de ce que j'ai fait la même chose pour un autre.

Comment puis-je éviter cette duplication redondante de paramètres sur le site?

Je sais sur la directive «Include», Mais comment gérer efficacement cela avec Webmin, à Webmin Pas confus? Je suppose que je dois créer manuellement le fichier inclus et déplacer certaines directives avant d'ajouter le deuxième hôte virtuel avec l'option SSL?

Comment les autres sont-ils appropriés pour cela?

En principe, on dirait
https://serverfault.com/questions/213103
, Mais avec l'ajout Webmin.
Invité:

Babette

Confirmation de:

Comment gérer efficacement cela avec Webmin?

Webmin Vous permet de configurer uniquement les fonctions de votre interface Web. C'est pourquoi les méthodes de configuration ordinaires ne fonctionnent pas et les questions relatives aux panneaux de configuration Web sont considérées comme sujets. La simplicité des paramètres peut signifier deux choses différentes, et vous ne pouvez pas avoir quelque chose:

Facile à utiliser sans fichiers de configuration => Panneaux Web de configuration.

Facile à gérer et à reproduire => Fichiers de configuration à l'aide de
https://httpd.apache.org/docs/ ... clude
de,
https://httpd.apache.org/docs/ ... .html
etc.

Comment configurer la configuration http et https, En utilisant les mêmes paramètres?

Sans Webmin. Si tel est un objectif, vous devez utiliser

Include

s et macros. Si vous avez plusieurs noms d'hôte avec les mêmes paramètres et que vous modifiez régulièrement certains paramètres pour tout le monde, il serait parfaitement créé.

<macro>

et des pièces changeantes de viol avec

Use

. Pour le même http et https:

<macro $domain="" $name="" vhost="">
<virtualhost *:80="">
ServerName $domain
ServerAlias www.$domain

DocumentRoot "/var/www/vhosts/$name"
ErrorLog "/var/log/httpd/$name.error_log"
CustomLog "/var/log/httpd/$name.access_log" combined
</virtualhost>
<virtualhost *:443="">
ServerName $domain
ServerAlias www.$domain

SSLEngine on
SSLCertificateFile "/path/to/$domain.cert"
SSLCertificateKeyFile "/path/to/$domain.key"

DocumentRoot "/var/www/vhosts/$name"
ErrorLog "/var/log/httpd/$name.error_log"
CustomLog "/var/log/httpd/$name.access_log" combined
</virtualhost>
</macro>

Use VHost example1 example.com
Use VHost example2 example.net

UndefMacro VHost

Cependant, si ces identiques identiques http et https Pour chaque domaine indiquent que vous avez un certificat valide pour chaque doamine, pourquoi permettre des connexions HTTP en général? Vous pouvez simplement rediriger tout http sur https Et d'oublier la nécessité de personnaliser quelque chose deux fois. Configuration http Ce sera vraiment simple et statique:

Utilisation de macros, à l'intérieur

<macro>

:

<virtualhost *:80="">
ServerName $domain
ServerAlias www.$domain

Redirect / https://$domain/
</virtualhost>
<virtualhost *:443="">

Redirection d'hôte virtuelle mondiale http défaut (première) Sur le https, par exemple,
https://httpd.apache.org/docs/ ... .html
:

<virtualhost *:80="">
ServerName default.example.com

RewriteEngine On
RewriteRule (.*) [url=https://%]https://%[/url]{SERVER_NAME}/$1 [R,L]
</virtualhost>

Toute autre approche de rediriger http sur https.
</virtualhost></macro></macro>

Pour répondre aux questions, connectez-vous ou registre