Porównaj ceny domen i usług IT, sprzedawców z całego świata

Unikanie redundancji hostów wirtualnych HTTP i https dzięki Webmin + Apache


Konfiguruję publiczny serwer WWW dla kilku moich własnych witryn internetowych przy użyciu Webmin i Apache 2.
Dodanie wirtualnego hosta i specjalnych opcji do niego za pomocą Webmina jest dość łatwe.
Potrzebuję jednak porady, jak ustawić konfigurację http i https przy użyciu tych samych opcji.
Obecnie używam dwóch wirtualnych hostów, jednego dla portu 80 i jednego dla portu 443. Tworzy to dwa oddzielne pliki .conf. Problem w tym, że za każdym razem, gdy dodam opcję do jednego wirtualnego hosta, muszę pamiętać, że robiłem to samo dla drugiego.
Jak mogę uniknąć tego zbędnego powielania parametrów w witrynie?
Znam dyrektywę „Include”, ale jak wydajnie zarządzać tym za pomocą Webmin, aby Webmin nie był zdezorientowany? Przypuszczam, że muszę ręcznie utworzyć plik dołączania i przenieść do niego niektóre dyrektywy przed dodaniem drugiego wirtualnego hosta z opcją SSL?
Jak podchodzą do tego inni?

Zasadniczo na to wygląda

to pytanie
https://serverfault.com/questions/213103
ale z dodatkiem Webmin.

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jak wydajnie zarządzać tym za pomocą Webmin?

Webmin umożliwia konfigurację tylko funkcji swojego interfejsu internetowego. Dlatego zwykłe metody dostosowywania nie działają, a problemy związane z panelami dostosowywania stron internetowych są uważane za niezwiązane z tematem. Łatwość konfiguracji może oznaczać dwie różne rzeczy i nie możesz mieć obu:
Jak ustawić konfigurację http i https przy użyciu tych samych opcji?

Bez Webmin. Jeśli to jest cel, którego powinieneś użyć
         Include
si makra. Jeśli masz wiele nazw hostów z tymi samymi ustawieniami i regularnie zmieniasz niektóre ustawienia dla wszystkich, byłoby to idealne rozwiązanie
         <Macro>
i zasilaj zmieniające się części
         Use
... Dla tego samego http i https:
<Macro VHost $name $domain>
<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.netUndefMacro VHost

Jeśli jednak te identyczne http i https dla każdej domeny wskazują, że masz ważny certyfikat dla każdej domeny, po co w ogóle zezwalać na połączenia HTTP? Możesz po prostu przekierować wszystkie http na https i zapomnieć o konieczności dwukrotnego konfigurowania. Konfiguracja http będzie naprawdę prosta i statyczna:
  • Korzystanie z makr w środku
                 <Macro>           
    :
    <VirtualHost *:80>        ServerName $domain        ServerAlias www.$domain        Redirect/https://$domain/</VirtualHost><VirtualHost *:443>
  • Na przykład globalnie przekieruj domyślny wirtualny host http (pierwszy) do odpowiedniego https mod_rewrite 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>
  • Wszelkie inne sposoby przekierowania http na https.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się