W moim lokalnym środowisku Apache mam witrynę, która wymaga SSL do programowania, więc korzystam z certyfikatu z podpisem własnym. Witryna lokalna działała dobrze w Firefox i Chrome do tej pory, ale po zaktualizowaniu Firefoksa do wersji 59 dzisiaj nie mogę zmusić go do zaakceptowania wyjątku bezpieczeństwa (w Chrome samopodpisany certyfikat nadal działa).
Firefox podaje mi dodatkowe informacje na zablokowanej stronie:
... używa nieprawidłowego certyfikatu bezpieczeństwa. Certyfikat nie jest zaufany, ponieważ jest samopodpisany. Kod błędu: SEC_ERROR_UNKNOWN_ISSUER
Nie ma opcji, aby zezwolić na wyjątek tutaj, tak jak kiedyś, ale poszedłem do Preferencji Firefoksa w obszarze Certyfikaty, a następnie w zakładce „Serwer” dodałem wyjątek dla domeny lokalnej. Certyfikat jest następnie wymieniony w poprawnej nazwie lokalnego serwera, szczegóły pokazują moje ustawienia certyfikatu Wydane przez i Wydane są takie same, z prawidłowym okresem.
Ktoś ma podobne problemy z FF 59 lub może mieć wskazówkę, co zrobić, aby samopodpisany certyfikat znów działał lokalnie?
Edycja: Nie widzę żadnej wzmianki o tym w informacjach o wydaniu FF 59, ale coś w nowej wersji powoduje, że wszystkie moje lokalne wirtualne hosty w domenach * .dev automatycznie próbują ustanowić połączenie https (to znaczy wszystkie http żądania * .dev są automatycznie wysyłane na adres URL https). Być może coś w tym zachowaniu jest również przyczyną tych problemów dla moich rzeczywistych wirtualnych hostów https.
źródło
Odpowiedzi:
Nadal nie jestem do końca jasne, jak to wszystko dokładnie do siebie pasuje, ale jak wskazano w tej odpowiedzi,
.dev
domeny są teraz oficjalnymi TLD. Wygląda na to, że przeglądarki wymuszają zachowanie HSTS i wymuszają połączenia https. W przypadku tych TLD wydaje się, że mój samopodpisany certyfikat nie został już zaakceptowany w przeglądarce Firefox. Zmiana wirtualnych hostów na używanie.test
rozwiązała problem bez konieczności zmiany czegokolwiek w moich samopodpisanych certyfikatach.Warto zauważyć, że w Firefoksie również moje wirtualne hosty bez SSL działały dzisiaj od wersji 59, ponieważ zachowanie HSTS wydawało się wymuszać SSL na wirtualnych hostach, których nie ustawiłem jako obsługujących za pośrednictwem SSL. W Chrome nadal to działało, ale w każdym razie można bezpiecznie powiedzieć, że odejście od oficjalnie używanej
.dev
TLD rozwiąże wiele problemów.źródło
.dev
jest prawidłową TLD od pewnego czasu, więc NIE używaj jej do nazywania swoich wewnętrznych zasobów. To samo dotyczy innych nazw: nie używaj nazw, których według ciebie nikt nie użyje. Użyj nazw testowych wymienionych w RFC2606 lub po prostu zarejestruj prawdziwą nazwę domeny w dowolnym miejscu i użyj subdomeny, takiej jakint.example.com
lub,dev.example.com
aby dodać wszystkie nazwy wewnętrzne. Nigdy nie będziesz mieć kolizji ani problemów (o ile pamiętasz, aby co roku odnawiać nazwę domeny!).dev
domenach. O ile nie wiesz, że to TLD, nie ma szans, abyś wywnioskował, że to jest problem.Jest na to łatwy sposób.
about:config
false
.OSTRZEŻENIE: Spowoduje to całkowite wyłączenie HSTS . Spójrz na komentarze do tej odpowiedzi, aby uzyskać dyskusję na temat wad tej metody. Osobiście uważam, że korzyść przewyższa ryzyko, ale jesteś odpowiedzialny za własne bezpieczeństwo.
źródło
.dev
projekty zostaną ostatecznie przeniesione na inny przyrostek TLD, ale na razie nie pomaga to zatrzymać lokalnego rozwoju.Ustawianie
security.enterprise_roots.enabled
siętrue
naabout:config
stronie rozwiązać to dla mnie i pozwolił mój certyfikat z podpisem własnym do pracy w trakcie rozwoju.Trwa dyskusja na temat zalet tego domyślnego włączenia:
Ustaw security.enterprise_roots.enabled na true .
Chociaż celem tej flagi jest umożliwienie Firefoxowi korzystania z magazynu głównego urzędu certyfikacji CA jako ważnego źródła dla urzędów certyfikacji, naprawiło to sytuację dla mojego własnego przypadku użycia, w którym mam samopodpisany certyfikat wielu domen, którego używam lokalnie do testowania (subjectAltName's) . Nawet po dodaniu certyfikatu do listy certyfikatów Firefoksa dopiero po jego włączeniu zezwoliłem na załadowanie strony lokalnej.
źródło
Miał ten sam problem w przeglądarce internetowej bazyliszka . Próbowałem zmienić ustawienia sieciowego serwera proxy lub zmodyfikować flagi „network.stricttransportsecurity.preloadlist” lub „security.enterprise_roots.enabled” ... ale to nie rozwiązało problemu braku przycisku dodania certyfikatu dla zablokowanej strony internetowej. Tylko dzięki temu udało się:
about:support
.Open Directory
profil przeglądarki.źródło
Poszedłem do „Let's Encrypt”
Ważne tylko przez 3 miesiące, ale odświeżenie można zautomatyzować.
Jak widać w uwagach, istnieje pewien haczyk. Nasze domeny programistyczne i testowe nazywa się dev-www.example.com i test-www.example.com. Używamy certyfikatu wieloznacznego z produkcji.
źródło