Przekierowywanie SSL bez zgłaszania alarmu

10

Klient ma certyfikat SSL tylko dla wersji domeny www.site.com, a nie site.com.

Przekierowanie dla zwykłego HTTP nie było problemem przez mod_rewrite.

Jednak ta metoda wydawała się dla nas nieskuteczna w przypadku HTTPS.

Chcemy przekierować https://site.com żądania do https://www.site.com .

Czy można to zrobić bez zgłaszania ostrzeżenia o nieprawidłowym certyfikacie w przeglądarce lub uzyskiwania certyfikatu wieloznacznego?

djdy
źródło

Odpowiedzi:

10

Nie, to nie działa w ten sposób.

Transakcja SSL ma miejsce przed wysłaniem jakiegokolwiek HTTP, więc ostrzeżenie SSL pojawi się przed jakimkolwiek przekierowaniem.

W rzeczywistości nie sądzę, aby symbol wieloznaczny również działał, ponieważ site.com i * .site.com nie są takie same. Możesz rozważyć alternatywne nazwy podmiotu na certyfikacie.

cjc
źródło
Bałem się, że tak jest. Dziękujemy za potwierdzenie.
djdy,
1
Ta odpowiedź jest niepoprawna. Zobacz serverfault.com/a/367843/113375
Ben Lessani - Sonassi
@ BenLessani-Sonassi Wydaje się, że linkowana odpowiedź nie obejmuje tego, w jaki sposób może wystąpić przekierowanie, gdy przeglądarka nie rozpozna certyfikatu oryginalnej witryny.
Michael
Chodzi mi o to, że prawie wszystkie urzędy certyfikacji dostarczą certyfikat obejmujący zarówno domenę wierzchołkową, jak i subdomenę www, jeśli zostaną zakupione w wariancie poddomeny www.
Ben Lessani - Sonassi
0

Certyfikat podstawowy RapidSSL przy zakupie na podstawie

www.mydomain.com 

obejmuje również

domain.com

Chociaż nie jest to symbol wieloznaczny, zapewnia ochronę dla subdomeny TLD i www.

Tak, możesz przekierowywać z subdomeny do innej bez błędu SSL - używamy tego w wielu, wielu witrynach, tylko jeden przykład to:

https://www.theclientarea.info, który przekierowuje na https://sms-sagat.theclientarea.info

Bez błędu.

Zadba o to prosty przepis .htaccess.

RewriteEngine On
RewriteCond %{ENV:HTTPS} !On [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

Każdy rodzaj przemieszczania między poddomenami HTTPS będzie działał bezbłędnie lub bez monitu, czy to przekierowanie POST / GET / .htaccess

Problem pojawia się tylko wtedy, gdy przekierowujesz z HTTPS na HTTP - wtedy pojawi się monit.

Ben Lessani - Sonassi
źródło
Tak, używasz alternatywnych nazw podmiotów w certyfikacie. OP będzie potrzebował nowego certyfikatu.
cjc
Nie, używamy 2 oddzielnych certyfikatów. Ale właśnie mówiłem, że najtańszy certyfikat SSL na rynku robi to, czego potrzebuje (obsługa TLD z / bez subdomeny www).
Ben Lessani - Sonassi