Odpowiedzi:
Właśnie próbowałem - musiałem przetestować kod programistyczny na moim lokalnym hoście Apache w systemie Windows . To było WIĘCEJ trudniejsze niż powinno być. Ale oto kroki, które zdołały zadziałać po wielu zabiegach na głowie ...
Przekonałem się, że moja instalacja Apache jest dostarczana, openssl.exe
co jest pomocne. Jeśli nie masz kopii, musisz ją pobrać. Moja kopia znajdowała się w Apache2\bin
folderze, dlatego też odsyłam do niej poniżej.
Kroki:
Apache2\conf
folderze..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
Możesz pozostawić wszystkie pytania puste, z wyjątkiem:
Po zakończeniu wpisz
..\bin\openssl rsa -in blarg.pem -out blarg.key
Wygeneruj swój samopodpisany certyfikat, wpisując:
..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
Otwórz conf\httpd.conf
plik Apache i upewnij się, że moduł SSL jest włączony - na początku tego wiersza nie powinno być haszu:
LoadModule ssl_module modules/mod_ssl.so
Niektóre instalacje Apache umieszczają konfigurację SSL w osobnym pliku. Jeśli tak, upewnij się, że dołączono plik konf. SSL. W moim przypadku musiałem odkomentować tę linię:
Include conf/extra/httpd-ssl.conf
W konfiguracji SSL httpd-ssl.conf
musiałem zaktualizować następujące linie:
SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
DocumentRoot
- ustaw ten folder na swoje pliki internetoweServerName
- nazwa hosta serweraSSLCertificateFile "conf/blarg.cert"
SSLCertificateKeyFile "conf/blarg.key"
Uruchom ponownie Apache.
https://localhost/
w przeglądarce.Mam nadzieję, że dotarłeś tak daleko. Zaktualizuj ten post za pomocą innych pomocnych informacji.
(Zrzuty ekranu dzięki uprzejmości Neila Obremskiego i jego pomocnego artykułu - choć teraz są nieaktualne.)
Używam do tego ngrok ( https://ngrok.com/ ). ngrok jest narzędziem wiersza poleceń i tworzy tunel dla hosta lokalnego. Tworzy połączenie zarówno HTTP, jak i https. Po pobraniu należy uruchomić następujące polecenie:
ngrok http 80
(W wersji 2 składnia jest następująca: ngrok http 80. W wersji 2 można tunelować dowolny port).
Po kilku sekundach otrzymasz dwa adresy URL:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
Teraz oba adresy URL wskazują na localhost.
tutaj jest najprostszy sposób, aby to zrobić
najpierw skopiuj te pliki server.crt i server.key (znajdź w załączniku) do katalogu apache / conf / ssl
następnie otwórz plik httpd.conf i dodaj następujący wiersz
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot "d:/wamp/www" #your wamp www root dir
ServerName localhost
SSLEngine on
SSLCertificateFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.crt"
SSLCertificateKeyFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.key"
</VirtualHost>
Aby zabezpieczyć bezpieczeństwo informacji przesyłanych do iz serwera internetowego, dobrym pomysłem jest włączenie szyfrowania komunikacji między klientami a serwerem. Jest to często nazywane SSL .
Więc skonfigurujmy HTTPS z samopodpisanym certyfikatem na Apache2. Mam zamiar wymienić kroki, które powinieneś wykonać:
sudo apt-get install apache2
status apache2 usługi sudo
Powinien wyjść
Sprawdź, czy otrzymujesz domyślną stronę apache2 w ten sposób.
openssl rex -x509 -newkey rsa: 2048 -keyout mykey.key -out mycert.pem-dni 365-węzły
Proszę odpowiednio wypełnić informacje, jak pokazano poniżej.
mykey.key i mycert.pem powinny zostać utworzone w bieżącym katalogu roboczym.
sudo cp mycert.pem / etc / ssl / certs
sudo cp mykey.key / etc / ssl / private
sudo a2enmod ssl
Powinien wyglądać tak
sudo vi /etc/apache2/sites-available/default-ssl.conf
Znajdź te dwa wiersze i zamień je na swoje certyfikaty i ścieżki dostępu.
Inicjał
Finał
cd / etc / apache2 / sites-available /
sudo a2ensite default-ssl.conf
usługa sudo apache2 restart
Powinien wyświetlać coś takiego z ostrzeżeniem, że strona, którą zamierzasz wyświetlić, nie jest bezpieczna, ponieważ skonfigurowaliśmy serwer z certyfikatem z podpisem własnym.
default-ssl.conf
. Miałem zamiar zmienić nazwę mycert
na ssl-cert-snakeoil
ale ten plik już istnieje, więc po prostu stosować to! Mogłem więc bezpiecznie pominąć dwa kroki na Debianie.
Windows + Apache 2.4, na przykład:
odkomentuj ssl_module w twoim httpd.conf
pliku.
LoadModule ssl_module modules/mod_ssl.so
posłuchaj portu 443, podobnie jak 80 portów w twoim httpd.conf
pliku.
Listen 80
Listen 443
odkomentuj Dołącz wirtualne hosty do swojego httpd.conf
pliku.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
dodaj VirtualHost do swojego conf/extra/httpd-vhosts.conf
<VirtualHost _default_:443>
DocumentRoot "D:/www" #your site directory path
ServerName localhost
#ServerAlias localhost.com localhost2.com
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
<Directory "D:/www">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
tylko numer portu 443
i SSL......
linie różnią się od normalnej konfiguracji http.
zapisz plik konfiguracyjny i uruchom ponownie usługę Apache. następnie możesz odwiedzić https: // localhost /
Przeglądarka internetowa ostrzeże Cię po raz pierwszy, że jest niebezpieczna, po prostu wybierz opcję kontynuuj.
To jest naprawdę dość łatwe, zakładając, że masz pod ręką instalację openssl. (Na jakiej platformie jesteś?)
Zakładając, że jesteś na Linuksie / Solaris / Mac OS / X, Van Apache SSL / TLS mini-HOWTO ma doskonały przewodnik, którego nie będę tutaj reprodukować.
Jednak streszczenie jest takie, że musisz utworzyć samopodpisany certyfikat. Ponieważ uruchamiasz apache dla hosta lokalnego prawdopodobnie w celach programistycznych (tj. Nie jest to publiczny serwer WWW), będziesz wiedział, że możesz zaufać samopodpisanemu certyfikatowi i możesz zignorować ostrzeżenia, które wyświetli ci przeglądarka.
To powinno działać Ubuntu, Mint podobny do Apache2
To fajny przewodnik, więc podążaj za tym
i pozostawiając swój ssl.conf w ten lub podobny sposób
<VirtualHost _default_:443>
ServerAdmin your@email.com
ServerName localhost
ServerAlias www.localhost.com
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Możesz to dostać.
Mam nadzieję, że ta pomoc dla Linuksa
To jest bardzo proste,
po prostu uruchom następujące polecenia
sudo a2enmod ssl
sudo service apache2 restart
sudo a2ensite default-ssl.conf
To już koniec.
Jeśli chcesz wymusić SSL (zawsze używać https), edytuj plik:
sudo nano /etc/apache2/sites-available/000-default.conf
i dodaj tę jedną linię
<VirtualHost *:80>
. . .
Redirect "/" "https://your_domain_or_IP/"
. . .
</VirtualHost>
następnie uruchom ponownie
sudo service apache2 restart
systemctl reload apache2
po sudo a2ensite default-ssl.conf
.
Publikuję tę odpowiedź, ponieważ sam zmagałem się z tym, a Chrome zaktualizował swoje zabezpieczenia, wymagając alternatywnej nazwy podmiotu, której nie ma wiele postów, ponieważ nie było to wymagane, gdy zostały opublikowane jako odpowiedź. Zakładam, że WAMP jest już zainstalowany.
KROK 1
Pobierz OpenSSL Light i zainstaluj
KROK 2 (opcjonalnie)
Chociaż ta część jest opcjonalna, ale ułatwia późniejsze wykonywanie poleceń. Jeśli pominiesz ten krok, musisz podać pełną ścieżkę do openssl.exe, w którym wykonasz polecenie. Jeśli wolisz to ustawić, zaktualizuj ścieżkę openssl.exe w Zmiennych środowiskowych.
Zmienne środowiskowe -> Zmienne systemowe -> Ścieżka -> Edytuj -> Nowe -> c: \ Program Files \ OpenSSL-Win64 \ bin
KROK 3
Utwórz folder o nazwie „klucz” w c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/
katalogu.
Utwórz plik konfiguracyjny dla swojego CA MyCompanyCA.cnf z zawartością (możesz go zmienić do swoich potrzeb):
[ req ]
distinguished_name = req_distinguished_name
x509_extensions = root_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ root_ca ]
basicConstraints = critical, CA:true
Utwórz plik konfiguracyjny rozszerzeń MyCompanyLocalhost.ext dla certyfikatu serwera WWW:
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mycy.mycompany.com
KROK 4
Wykonaj następujące polecenia w podanej kolejności, aby wygenerować klucz i certyfikaty:
openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111
W rezultacie będziesz mieć pliki MyCompanyCA.cer , MyCompanyLocalhost.cer i MyCompanyLocalhost.pvk .
KROK 5
Zainstaluj MyCompanyCA.cer pod
Panel sterowania -> Zarządzaj certyfikatami użytkowników -> Zaufane główne urzędy certyfikacji -> Certyfikaty
Aby zainstalować MyCompanyLocalhost.cer, wystarczy dwukrotnie kliknąć.
KROK 6
Otwórz c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/httpd.conf
i anuluj komentarz (usuń #) następujące 3 linie:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
KROK 7
Otwórz c:/wamp64/bin/apache/apache2.4.37/conf/extra/httpd-ssl.conf
i zmień wszystkie parametry na te pokazane poniżej:
Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "c:/wamp64/bin/apache/apache2.4.27/logs/error.log"
TransferLog "c:/wamp64/bin/apache/apache2.4.27/logs/access.log"
SSLCertificateFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.cer"
SSLCertificateKeyFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.pvk"
SSLSessionCache "shmcb:c:/wamp64/bin/apache/apache2.4.27/logs/ssl_scache(512000)"
CustomLog "c:/wamp64/bin/apache/apache2.4.27/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Uwaga: To trudna część. Jeśli popełnisz mały błąd podczas edycji tego pliku, SSL nie będzie działać. Zrób jego kopię przed edycją.
KROK 8
Uruchom ponownie Wampa i Chrome. Localhost jest teraz bezpieczny: https: // localhost
To HowTo dla CentOS było łatwe do naśladowania i zajęło tylko około 5 minut: https://wiki.centos.org/HowTos/Https
Nie będę tutaj szczegółowo opisywać każdego kroku, ale główne kroki to:
1.) Zainstaluj moduł openssl dla apache, jeśli jeszcze nie został zainstalowany
2.) Wygeneruj samopodpisany certyfikat
- W tym momencie powinieneś móc pomyślnie odwiedzić https: // localhost
3.) W razie potrzeby skonfiguruj hosta wirtualnego
Działa to w systemie Windows 10 z Apache24:
1 - Dodaj to na dole C:/Apache24/conf/httpd.conf
Listen 443
<VirtualHost *:443>
DocumentRoot "C:/Apache24/htdocs"
ServerName localhost
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
</VirtualHost>
2 - Dodaj pliki server.crt
i server.key
do C:/Apache24/conf/ssl
folderu. Zobacz inne odpowiedzi na tej stronie, aby znaleźć te 2 pliki.
Otóż to!
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Dostęp do lokalnego środowiska można uzyskać z https://youruniquesubdomain.serveo.net
Nie mogłem uwierzyć, kiedy znalazłem tę usługę. Oferuje wszystko i jest najłatwiejszy w użyciu. Gdyby istniało takie łatwe i bezbolesne narzędzie dla każdego problemu ...
Uruchamianie Apache na Windows 10 tutaj. Nie mogłem przekonać Chrome, by zaufał certyfikatowi postawionemu w pierwszej odpowiedzi przez Simona. Skończyło się na użyciu programu PowerShell do wygenerowania certyfikatu z podpisem własnym.
W PowerShell
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1
Wpisz Certificate
w pasek wyszukiwania systemu Windows, kliknij Manage Computer Certificates
sugerowany element panelu sterowania.
W programie zarządzania certyfikatami, który się pojawi (certlm), powinieneś zobaczyć localhost
klucz poniżej Personal >> Certificates
.
Skopiowałem ten certyfikat do Trusted Root Certification Authorities
. Będę szczery, ponieważ nie jestem pewien, czy to konieczne.
Wybierz nowo skopiowany certyfikat, kliknij go dwukrotnie (certyfikat localhost). W trybie certyfikatu kliknij Details
kartę, a następnie Copy to File...
przycisk.
Spowoduje to wyświetlenie i Kreatora eksportu. Wybrałem eksport klucza prywatnego, kliknij przycisk Dalej. Zdecydowałem się również Export all extended properties
(ponownie, nie jestem pewien, czy było to konieczne). Wybrałem proste hasło ( pass
) i domyślne szyfrowanie. Wybierz folder do wyeksportowania i nazwij plik. W razie potrzeby zawsze możesz przenieść plik i zmienić jego nazwę. Dla uproszczenia skopiujmy go do folderu conf w instalacji Apache (w moim przypadku:) i nazwijmy C:\apache\conf
plik myCert
(plik wynikowy będzie .pfx
plikiem)
.pfx
plik do użytku z ApacheOdtąd po prostu podążałem za tutorialem tutaj , ale dodam tutaj instrukcje (poprawione dla naszych ustawień) na wypadek, gdyby strona się zawiesiła.
Otwórz wiersz polecenia w /apache/conf/
folderze
uruchomić następujące polecenia: Uwaga: Zakłada masz openssl.exe
w bin
folderze w katalogu głównym Apache (powinno to być standardowe default /)
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
Pojawi się monit o podanie hasła, wprowadź dane wprowadzone w kroku 2 podczas eksportowania .pfx
pliku. W moim przypadku tak jest pass
. Wprowadziłem to samo hasło do frazy PEM i ponownie, aby to zweryfikować. Spowoduje to utworzenie nowego pliku o nazwie privateKey.pem
w folderze conf.
Następnie uruchomić
..\bin\openssl rsa -in privateKey.pem -out private.pem
Ponownie pojawi się monit o podanie hasła ( Enter pass phrase for privateKey.pem:
), użyj ustawionego hasła privateKey.pem
. (W moim przypadku pass
).
Powinieneś zobaczyć wiadomość writing RSA key
z nowym plikiem wywołanym private.pem
w twoim conf/
folderze. To będzie twój SSLCertificateKeyFile.
Teraz, aby wygenerować odpowiedni certyfikat serwera. Biegać:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
Pojawi się monit o podanie hasła, wprowadź dane wprowadzone w kroku 2 podczas eksportowania .pfx
pliku. Wpisz go, a będziesz mieć plik o nazwie EntrustCert.pem
w conf
folderze. To jest twój plik SSLCertificateFile
httpd.conf
Użyj nowych plików utworzonych jako klucz i certyfikat serwera. Pamiętaj, aby zmienić katalog główny dokumentu na lokalizację plików!
ServerName localhost:80
Protocols h2 h2c http/1.1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<VirtualHost _default_:443>
ServerName localhost:443
DocumentRoot ${SRVROOT}/htdocs/MYSITE
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
</VirtualHost>
Również w httpd.conf
:
LoadModule ssl_module modules/mod_ssl.so
ma komentarza (nie #
z przodu)LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule http2_module modules/mod_http2.so
Include conf/extra/httpd-ssl.conf
(UWAGA: Upewnij się, że tam jest plik!)Mam również curl i otwarte biblioteki ssl zawarte:
# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"
Te moduły nie powinny być potrzebne, ale zauważę, że mam je włączone:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
httpd-ssl.conf
W extra/
folderze w conf/
folderze powinieneś zobaczyć plik o nazwie httpd-ssl.conf
.
5a. ZmieńDocumentRoot
- Zmień DocumentRoot
z domyślnego na katalog, w którym znajdują się twoje pliki.
5b. ZmieńServerName
- Zmień ServerName
z domyślnego (coś podobnego www.example.com:443
) nalocalhost:443
5c. ZmieńSSLCertificateFile
Zmień SSLCertificateFile
z domyślnego ( ${SRVROOT}/conf/server.crt
) na${SRVROOT}/conf/EntrustCert.pem
5c. ZmieńSSLCertificateKeyFile
Zmień SSLCertificateKeyFile
z domyślnego ( ${SRVROOT}/conf/server.key
) na${SRVROOT}/conf/private.pem
Wszystko razem w <VirtualHost _default_:443>
tagu.
# General setup for the virtual host
DocumentRoot "${SRVROOT}/htdocs/MYSITE"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
# Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
# require an ECC certificate which can also be configured in
# parallel.
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
#SSLCertificateFile "${SRVROOT}/conf/server-dsa.crt"
#SSLCertificateFile "${SRVROOT}/conf/server-ecc.crt"
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
# ECC keys, when in use, can also be configured in parallel
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-dsa.key"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-ecc.key"
Po dokonaniu tych zmian powinieneś być w stanie zrestartować Apache i przejść do https: // localhost bez ostrzeżenia bezpieczeństwa i małej kłódki!
Mam nadzieję, że to komuś pomoże! 😊
Źródła:
1.) Odpowiedź Auri Rahimzadeha na temat utworzenia samopodpisanego certyfikatu
2.) Entrust Datacard - Jak przekonwertować plik .pfx na serwer Apache?
Inną prostą metodą jest użycie Python Server w Ubuntu.
Wygeneruj server.xml za pomocą następującej komendy w terminalu:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
Uwaga: Zakładając, że masz zainstalowany openssl .
Zapisz poniższy kod w pliku o nazwie simple-https-server.py
w dowolnym katalogu, w którym chcesz uruchomić serwer.
import BaseHTTPServer, SimpleHTTPServer
import ssl
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()
Uruchom serwer z terminala:
python simple-https-server.py
Odwiedź stronę pod adresem:
https://localhost:4443
Dodatkowe uwagi :
Możesz zmienić port w simple-https-server.py
pliku w linii
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
Możesz zmienić localhost
swój adres IP w tej samej linii powyżej:
httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
i uzyskaj dostęp do strony na dowolnym urządzeniu podłączonym do sieci. Jest to bardzo przydatne w przypadkach takich jak „musisz przetestować API GeoLocation HTML5 na telefonie komórkowym, a Chrome ogranicza API tylko w bezpiecznych połączeniach”.
Gist: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
Dla tych, którzy używają MacOS, jest to świetny przewodnik https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions, aby skonfigurować lokalne środowisko deweloperskie. W trzeciej części https://getgrav.org/blog/macos-sierra-apache-ssl Andy Miller wyjaśnia, jak skonfigurować apache z certyfikatem z podpisem własnym:
To jest kluczowe polecenie:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Ale musisz wykonać kilka kroków, więc sprawdź to i powodzenia! ;)
Chciałbym dodać coś do bardzo dobrej odpowiedzi @CodeWarrior, która działa idealnie w Chrome, ale dla Firefox wymaga dodatkowego kroku.
Ponieważ Firefox nie przekazuje certyfikatów CA, które domyślnie robi system Windows, musisz przejść dalej about:config
, przewinąć w dół security.enterprise_roots.enabled
i zmienić na true.
Teraz twój certyfikat powinien być uważany za ważny również w przeglądarce Firefox.
Oczywiście służy to wyłącznie celom programistycznym, ponieważ zaufanie SSL jest kluczowym problemem bezpieczeństwa i zmieniaj te ustawienia tylko, jeśli znasz implikacje.
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Podaj swoją subdomenę i numer portu, a będziesz gotowy dohttps://youruniquesubdomain.serveo.net