Jak łatwo utworzyć certyfikat SSL i skonfigurować go w Apache2 w Mac OS X?


34

Chciałbym używać mojego Mac OS X z https do testów rozwoju lokalnego. Jak mogę łatwo zmusić Apache2 do odpowiedzi na ssl, tylko na potrzeby propozycji testowych - nie chcę prawdziwego certyfikatu, tylko fałszywy, aby lokalna https działała

Odpowiedzi:


58

Do testowania rozwoju lokalnego wystarczający jest samopodpisany certyfikat. Możesz go wygenerować za pomocą zestawu OpenSSL, takiego jak:

Generowanie klucza prywatnego:

openssl genrsa -des3 -out server.key 1024

wydajność:

Generowanie klucza prywatnego RSA, moduł długości 1024 bitów
.................................................. ....... ++++++
........ ++++++
e wynosi 65537 (0x10001)
Wpisz frazę PEM:
Weryfikowanie hasła - wprowadź frazę PEM:

wprowadź hasło dla swojego klucza prywatnego.

Generowanie CSR (żądanie podpisania certyfikatu):

openssl req -new -key server.key -out server.csr

poprosi o takie szczegóły:

Nazwa kraju (dwuliterowy kod) [GB]:
Nazwa stanu lub prowincji (pełna nazwa) [Berkshire]:
Nazwa miejscowości (np. Miasto) [Newbury]:
Nazwa organizacji (np. Firma) [My Company Ltd]:
Nazwa jednostki organizacyjnej (np. Sekcja) []:
Nazwa zwyczajowa (np. Twoje imię lub nazwa hosta twojego serwera) []:
Adres e-mail []:
Wprowadź następujące atrybuty „dodatkowe”
do wysłania z prośbą o certyfikat
Hasło wyzwania []:
Opcjonalna nazwa firmy []:

to dość proste, nazwa pospolita to nazwa hosta twojego serwera, jak podano w nawiasach.

Generowanie samopodpisanego certyfikatu:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Konfigurowanie protokołu SSL w httpd.conf dla Apache:

SSLEngine włączony
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(odpowiednio zamień ścieżkę na ścieżkę do certyfikatu i klucza)

Uruchom ponownie Apache :

apachectl restart

Apache poprosi cię o hasło do twojego klucza. Jeśli uważasz, że będziesz często zamykać serwer, możesz usunąć hasło z klucza, aby uniknąć wprowadzania go za każdym razem. Jeśli nie, nie przejmuj się tym. Jeśli tak, wykonaj ten krok po kroku 2 ( Generowanie CSR ):

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key

prawie mnie to obchodzi. Kiedy próbuję uzyskać dostęp do jakiejś strony w moich Railsach, używając http strona istnieje, ale gdy używam https, zwraca stronę nie znalezioną. Czy wiesz co może być?
— Daniel Cukier

Czy zmieniłeś wirtualnego hosta na https na porcie 443? Powinno to wyglądać tak: <VirtualHost 192.168.1.100:443> SSLEngine On, etc .... </VirtualHost>
— John T

Dzięki za to mam certyfikat SSL, który działa poprawnie na Lionie. Pomyślałem, że dodam kilka punktów, które powinny ułatwić ci życie. Apache Apple ma httpd-ssl.conf, który jest już skonfigurowany do przeglądania w / private / etc / apache2, więc jeśli umieścisz serwer. * Pliki tam jest o jeden plik mniej do edycji. Ponadto należy edytować plik httpd.conf, ponieważ wiersz zawierający httpd-ssl.conf jest domyślnie skomentowany. Wreszcie 365 dni jest trochę krótkich, możesz chcieć ustawić dłuższą datę wygaśnięcia, albo zrobisz to ponownie w przyszłym roku (użyłem 3650)
— GordonM

Jeśli ktoś miał takie problemy jak ja, z przyjemnością znajdziesz ten link, który wyjaśnia, jak poprawnie skonfigurować virtualhost z virtualhostx do pracy z ssl yellowrobot.heroku.com/blog/2012/01/22/...
— Relequestual

Jeśli jest to twoja maszyna
— deweloperska
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.