Skocz do zawartości

Apache Z Ssl I Bez


neo_fox

Rekomendowane odpowiedzi

Witam serdecznie,

 

zupełnie już się pogubiłem. Mam taki problem: do tej pory mam Apacha skonfigurowanego w ten sposób że jest jeden adres IP i kilkanaście hostów wirtualnych. Czyli

NameVirtualHost 123.456.7.89
..
<VirtualHost subdomena.strona.com >
....
</VirtualHost>

<VirtualHost subdomena2.strona.com>
</VirtualHost>

<VirtualHost subdomena.innastrona.com>
...
</VirtualHost>   

 

Teraz chciałby aby jedna ze stron była dostępna zarówno zaszyfrowana jak i nie (czyli z https i http).

Najpierw próbowałem tak:

 

NameVirtualHost 123.456.7.89
..
<VirtualHost subdomena.strona.com >
     ServerName subdomena.strona.com
</VirtualHost>

<VirtualHost subdomena.strona.com >
     ServerName subdomena.strona.com:443
     SSLCertificateFile /etc/httpd/ssl/cert.crt
     SSLCertificateKeyFile /etc/httpd/ssl/cert.key    
     SSLEngine on
......
</VirtualHost>

 

W ten sposób subdomena.strona.com działa tylko przez https a wszystkie inne strony zwracają kod 400 - bad request.

Poczytałem trochę i jeśli dobrze kojarzę to problem polega na tym że strona szyfrowana powinna mieć inny adres IP ponieważ ..... itd.

 

Więc zamówiłem dodatkowe IP i próbuje tak:

przekierowałem (DNS) subdomena.strona.com na >> 123.456.7.900

NameVirtualHost 123.456.7.89
..
<VirtualHost subdomena.strona.com >
     ServerName subdomena.strona.com
</VirtualHost>

<VirtualHost 123.456.7.900 >
     ServerName subdomena.strona.com:443
     SSLCertificateFile /etc/httpd/ssl/cert.crt
     SSLCertificateKeyFile /etc/httpd/ssl/cert.key    
     SSLEngine on
......
</VirtualHost>

 

I teraz jest tak że wszystkie inne strony działają jak poprzednio (czyli ok).

Stron którą chciałem zabezpieczyć "subdomena.strona.com" działa poprzez https. Natomiast jeśli wpisze bez https to dostaje ponownie 400 - bad request

 

Może ktoś mi proszę wytłumaczyć jak to zrobić aby strona subdomena.strona.com była dostępna poprzez https://subdomena.strona.com oraz http://subdomena.strona.com ??

 

Pozdrówka,

Radek

Odnośnik do komentarza
Udostępnij na innych stronach

Ok rozwiązanie wygląda następująco:

 

NameVirtualHost 12.3.4.5:80
NameVirtualHost 12.3.4.5:443

<VirtualHost strona.com:80>
   DocumentRoot "/var/www/html/host"
   ServerName www.strona.com
   ServerAlias strona.com
</VirtualHost>

<VirtualHost strona.com:443>
   DocumentRoot "/var/www/html/host"
   ServerName www.strona.com:443
   ServerAlias strona.com:443

   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

   SSLCertificateFile /etc/httpd/ssl/strona.com.crt
   SSLCertificateKeyFile /etc/httpd/ssl/strona.com.key
   SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

   <Files ~ "\.(cgi|shtml|phtml|php|html|php3?)$">
   	SSLOptions +StdEnvVars
   </Files>
   <Directory "/var/www/html/cgi-bin/">
   	SSLOptions +StdEnvVars
   </Directory>
   SetEnvIf User-Agent ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
   CustomLog logs/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

<VirtualHost shop.strona.com:80>
   DocumentRoot /var/www/html/shop	
   ServerName shop.strona.com
</VirtualHost>

<VirtualHost shop.strona.com:443>
   DocumentRoot /var/www/html/shop
   ServerName shop.strona.com:443

   SSLEngine on
   SSLProtocol all -SSLv2
   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

   SSLCertificateFile /etc/httpd/ssl/shop.crt
   SSLCertificateKeyFile /etc/httpd/ssl/shop.key
   SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

   <Files ~ "\.(cgi|shtml|phtml|php|html|php3?)$">
   	SSLOptions +StdEnvVars
   </Files>
   <Directory "/var/www/html/cgi-bin/">
   	SSLOptions +StdEnvVars
   </Directory>
   SetEnvIf User-Agent ".*MSIE.*" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
   CustomLog logs/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

 

Teraz mam niestety inny problem. Mimo że dla obu hostów podaje inny certyfikat:

SSLCertificateFile /etc/httpd/ssl/shop.crt

Apache zawsze korzysta z tego pierwszego "/etc/httpd/ssl/strona.com.crt". Podejrzewam że to ze względu na fakt że jeden certyfikat może być przypisany do tylko jednego adresu IP.

Co więc zrobić aby przekierować hosta "shop.strona.com" pod inny adres IP ??

 

Pozdrawiam,

Radek

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...