Strona 1 z 2

[+] Jak zmodyfikować rozbudowaby plik /etc/apache2/vhost.conf?

: 15 czerwca 2011, 21:39
autor: ksysinek
Witam.
Korzystam z Apache2 na Debianie Etch 32bit. Mam przypisanych wiele domen do kilku numerów IP. Na jednej z nich chciałbym uruchomić SSL. Skonfigurowałem Apache i wygenerowałem certyfikat zgodnie z tym poradnikiem. Problem w tym, że mam bardzo rozbudowany plik vhost.conf i nie wiem gdzie wpisać:

Kod: Zaznacz cały

SSLEngine [B]On[/B]  SSLCertificateFile [B]/etc/apache2/ssl/apache.crt[/B]
Próbowałem wielu kombinacji i zawsze kończyło się jednym: błędem

Kod: Zaznacz cały

ssl_error_rx_record_too_long
zgłaszanym przez Firefoxa. O dziwo, po wpisaniu w przeglądarkę

Kod: Zaznacz cały

http://domenka.pl:443/
strona ładowała się normalnie, bez użycia SSLa. Prosiłbym jakiegoś specjalistę, aby obejrzał mój plik konfiguracyjny i podpowiedział, jak go zmodyfikować.

Kod: Zaznacz cały

cat /etc/apache2/vhost.conf
#################################################
#                                               #
#    domenka.pl                                #
#                                               #
#################################################

NameVirtualHost 83.2.1.66:*
<VirtualHost 83.2.1.66>
DocumentRoot /var/www/domenka.pl/
ServerName domenka.pl
<Directory "/var/www/domenka.pl/">
Options -Indexes
AllowOverride all
SetEnv LANG pl_PL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

NameVirtualHost pma.domenka.pl:*
<VirtualHost pma.domenka.pl>
DocumentRoot /var/www/pma/
ServerName pma.domenka.pl
ServerAlias admin.domenka.pl
<Directory "/var/www/pma/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

NameVirtualHost domenka.pl:*
<VirtualHost domenka.pl>
DocumentRoot /var/www/domenka.pl/
ServerName domenka.pl
ServerAlias *.domenka.pl
<Directory "/var/www/domenka.pl/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

NameVirtualHost 83.2.1.69:*
<VirtualHost 83.2.1.69>
DocumentRoot /var/www/domenka.pl/poczta/
ServerName 83.2.1.69
<Directory "/var/www/domenka.pl/poczta/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

NameVirtualHost poczta.domenka.pl:*
<VirtualHost poczta.domenka.pl>
DocumentRoot /var/www/domenka.pl/poczta/
ServerName poczta.domenka.pl
<Directory "/var/www/domenka.pl/poczta/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

#################################################
#                                               #
#    innadomenka.pl                          #
#                                               #
#################################################

NameVirtualHost innadomenka.pl:*
<VirtualHost innadomenka.pl>
DocumentRoot /var/www/innadomenka.pl/
ServerName innadomenka.pl
ServerAlias *.innadomenka.pl
<Directory "/var/www/innadomenka.pl/">
Options -Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

#################################################
#                                               #
#    domena.net                              #
#                                               #
#################################################

NameVirtualHost domena.net:*
<VirtualHost domena.net>
DocumentRoot /var/www/domena.net/
ServerName domena.net
ServerAlias *.domena.net
<Directory "/var/www/domena.net/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

#################################################
#                                               #
#    domena2.net                               #
#                                               #
#################################################

NameVirtualHost domena2.net:*
<VirtualHost domena2.net>
DocumentRoot /var/www/domena2.net/
ServerName domena2.net
ServerAlias *.domena2.net
<Directory "/var/www/domena2.net/">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

#################################################
#                                               #
#    serwis.info                            #
#                                               #
#################################################

NameVirtualHost serwis.info:*
<VirtualHost serwis.info>
DocumentRoot /var/www/serwis.info/
ServerName serwis.info
ServerAlias *.serwis.info
AddDefaultCharset UTF-8
<Directory "/var/www/serwis.info">
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Wszystkie domeny z wyjątkiem poczta.domenka.pl dzielą to samo IP. Na SSL zależy mi tylko dla domenka.pl, jeśli zmiana miałaby spowodować, że wszystkie strony będą używały https to też nic się nie stanie. Proszę o pomoc i podpowiedzi, jak zmodyfikować mój plik vhost.conf.
Z góry dziękuję!

: 16 czerwca 2011, 21:37
autor: VMLine
Oczywiście mod_ssl załadowany, a klucze i certyfikaty wygenerowane? Jeśli tak, to dodaj:

Kod: Zaznacz cały

 <VirtualHost 83.2.1.66:443>
DocumentRoot /var/www/domenka.pl/ 
ServerName domenka.pl 
<Directory "/var/www/domenka.pl/"> 
Options -Indexes AllowOverride all 
SetEnv LANG pl_PL 
Order allow,deny
 Allow from all
</Directory> 
SSLEngine On
SSLCertificateFile /path/do/cert.crt
SSLCertificateKeyFile /path/do/cert.key
</VirtualHost>

: 17 czerwca 2011, 08:13
autor: ksysinek
Właśnie tak robiłem i nic. Okazało się, że cały konfig jest skopany. Miałem zbyt dużo dyrektyw NameVirtualHost. Wystarczyło tylko NameVirtualHost *:80 i NameVirtualHost *:443 a za nimi odpowiednia liczba <VirtualHost xxx:443>

Teraz firefox pokazał komunikat, że połączenie szyfrowane, certyfikat jest samopodpisany (należało go pobrać i dodać do wyjątków) lecz później wyszedł komunikat, że tylko część połączenia jest szyfrowana i tak naprawdę nic to nie daje:

Obrazek

: 17 czerwca 2011, 09:36
autor: Bastian
Jesteś pewien, że w kodzie aplikacji masz wszędzie linki w https:// ?

: 17 czerwca 2011, 09:45
autor: VMLine
Albo to co kolega wyżej napisał, albo strona odwołuje się do niezabezpieczonych treści.

: 17 czerwca 2011, 10:53
autor: ksysinek
Aplikacja jest w porządku. Sądziłem, że obsługa SSL nie jest włączona więc umieściłem w pliku .htaccess coś takiego:

Kod: Zaznacz cały

Options -Indexes
ErrorDocument 404 /panelboa/login.php
[B]SSLEngine on[/B]
i dostaję

Kod: Zaznacz cały

500 Internal Server Error.
Nie wiem kompletnie co mogę robić nie tak?

: 17 czerwca 2011, 11:03
autor: VMLine
500 dostajesz, bo tego nie wpisuje się w .htaccess, tylko w wirtualce, która musi być osobna dla SSL.

Ps. Proponuję częściej zaglądać w logi serwera apache.

: 17 czerwca 2011, 21:26
autor: ksysinek
Tak też zrobiłem. Usunąłem

Kod: Zaznacz cały

[B][B]SSLEngine on[/B][/B]
z .htaccess i teraz wchodząc na stronę poprzez https Firefox wyrzuca, ze ta witryna nie dostarcza informacji o swojej tożsamości. Normalnie rece mi opadają. Wszystko robiłem zgodnie z przewodnikiem a tu guzik : (

: 17 czerwca 2011, 22:10
autor: lessmian2
A jak ma dostarczać informacje o tożsamości, skoro najprawdopodobniej masz samopodpisany certyfikat?

: 17 czerwca 2011, 22:14
autor: ksysinek
To znaczy, że takim sposobem nie będzie mi działać prawidłowo SSL? Czy te połączenia są w ogóle szyfrowane czy lepiej w ogóle sobie podarowac https w takim razie?