Antworten:
Ich habe es gerade versucht - ich musste Entwicklungscode auf meinem lokalen Host Apache unter Windows testen . Dies war WAAAY schwieriger als es sein sollte. Aber hier sind die Schritte, die nach viel Haarausfall erfolgreich waren ...
Ich habe festgestellt, dass meine Apache-Installation mitgeliefert wird, openssl.exe
was hilfreich ist. Wenn Sie keine Kopie haben, müssen Sie diese herunterladen. Meine Kopie befand sich in einem Apache2\bin
Ordner, auf den ich unten verweise.
Schritte:
Apache2\conf
Ordner..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
Sie können alle Fragen leer lassen, außer:
Wenn dies abgeschlossen ist, geben Sie ein
..\bin\openssl rsa -in blarg.pem -out blarg.key
Generieren Sie Ihr selbstsigniertes Zertifikat, indem Sie Folgendes eingeben:
..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
Öffnen Sie die Apache- conf\httpd.conf
Datei und stellen Sie sicher, dass das SSL-Modul aktiviert ist. Am Anfang dieser Zeile sollte kein Hash stehen:
LoadModule ssl_module modules/mod_ssl.so
Bei einigen Apache-Installationen wird die SSL-Konfiguration in einer separaten Datei abgelegt. Stellen Sie in diesem Fall sicher, dass die SSL-Konfigurationsdatei enthalten ist. In meinem Fall musste ich diese Zeile auskommentieren:
Include conf/extra/httpd-ssl.conf
In der SSL-Konfiguration musste httpd-ssl.conf
ich folgende Zeilen aktualisieren:
SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
DocumentRoot
- Stellen Sie dies auf den Ordner für Ihre Webdateien einServerName
- der Hostname des ServersSSLCertificateFile "conf/blarg.cert"
SSLCertificateKeyFile "conf/blarg.key"
Starten Sie Apache neu.
https://localhost/
in Ihren Browser zu laden .Hoffentlich hast du es so weit geschafft. Fühlen Sie sich frei, diesen Beitrag mit anderen hilfreichen Informationen zu aktualisieren.
(Screenshots mit freundlicher Genehmigung von Neil Obremski und seinem hilfreichen Artikel - obwohl jetzt ziemlich veraltet.)
Ich benutze dafür ngrok ( https://ngrok.com/ ). ngrok ist ein Befehlszeilenprogramm und erstellt einen Tunnel für localhost. Es wird sowohl eine http- als auch eine https-Verbindung hergestellt. Nach dem Herunterladen muss der folgende Befehl ausgeführt werden:
ngrok http 80
(In Version 2 lautet die Syntax: ngrok http 80. In Version 2 kann jeder Port getunnelt werden.)
Nach einigen Sekunden werden zwei URLs angezeigt:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
Jetzt zeigen beide URLs auf den lokalen Host.
Hier ist der einfachste Weg, dies zu tun
Kopieren Sie zuerst diese server.crt- und server.key- Dateien (finden Sie im Anhang) in Ihr Verzeichnis apache / conf / ssl
Öffnen Sie dann die Datei httpd.conf und fügen Sie die folgende Zeile hinzu
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>
Um die Sicherheit von Informationen zu gewährleisten, die an und von Ihrem Webserver gesendet werden, empfiehlt es sich, die Verschlüsselung der Kommunikation zwischen Clients und Server zu aktivieren. Dies wird oft als SSL bezeichnet .
Richten wir also HTTPS mit einem selbstsignierten Zertifikat für Apache2 ein. Ich werde die Schritte auflisten, denen Sie folgen sollten:
sudo apt-get install apache2
sudo service apache2 status
Es sollte ausgegeben werden
Stellen Sie sicher, dass Sie die Standardseite für Apache2 wie folgt erhalten.
openssl req -x509 -newkey rsa: 2048 -keyout mykey.key -out mycert.pem -days 365 -nodes
Bitte füllen Sie die Informationen entsprechend aus, wie unten gezeigt.
mykey.key und mycert.pem sollten in Ihrem aktuellen Arbeitsverzeichnis erstellt werden.
sudo cp mycert.pem / etc / ssl / certs
sudo cp mykey.key / etc / ssl / privat
sudo a2enmod ssl
Es sollte so ausgegeben werden
sudo vi /etc/apache2/sites-available/default-ssl.conf
Finden Sie diese beiden Zeilen und ersetzen Sie sie durch Ihre Zertifizierungs- und Schlüsselpfade.
Initiale
Finale
cd / etc / apache2 / sites-available /
sudo a2ensite default-ssl.conf
sudo service apache2 neu starten
Es sollte so etwas mit einer Warnung ausgeben, dass die Seite, die Sie anzeigen möchten, nicht sicher ist, da wir den Server mit einem selbstsignierten Zertifikat konfiguriert haben.
default-ssl.conf
es so belassen, wie es ist. Ich wollte gerade umbenennen mycert
, ssl-cert-snakeoil
aber diese Datei existiert bereits, also habe ich sie einfach benutzt! So konnte ich zwei Schritte auf Debian sicher überspringen.
Windows + Apache 2.4 zum Beispiel:
Kommentieren Sie ssl_module in Ihrer httpd.conf
Datei aus.
LoadModule ssl_module modules/mod_ssl.so
Hören Sie 443 Port genau wie 80 Port in Ihrer httpd.conf
Datei.
Listen 80
Listen 443
auskommentieren Nehmen Sie virtuelle Hosts in Ihre httpd.conf
Datei auf.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Fügen Sie VirtualHost in Ihr 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>
Nur die Portnummer 443
und die SSL......
Leitungen unterscheiden sich von der normalen http-Konfiguration.
Speichern Sie Ihre Konfigurationsdatei und starten Sie den Apache-Dienst neu. dann können Sie https: // localhost / besuchen
Der Webbrowser warnt Sie, dass es beim ersten Mal unsicher ist. Wählen Sie einfach Weiter.
Es ist eigentlich ganz einfach, vorausgesetzt, Sie haben eine OpenSSL-Installation zur Hand. (Auf welcher Plattform bist du?)
Angenommen, Sie arbeiten unter Linux / Solaris / Mac OS / X, hat Vans Apache SSL / TLS Mini-HOWTO eine hervorragende Anleitung, die ich hier nicht reproduzieren werde.
Die Zusammenfassung lautet jedoch, dass Sie ein selbstsigniertes Zertifikat erstellen müssen. Da Sie Apache für localhost vermutlich für die Entwicklung ausführen (dh keinen öffentlichen Webserver), wissen Sie, dass Sie dem selbstsignierten Zertifikat vertrauen und die Warnungen ignorieren können, die Ihr Browser auf Sie wirft.
Dies sollte Ubuntu, Mint ähnlich wie Apache2 funktionieren
Es ist eine nette Anleitung, also folge dieser
und lassen Sie Ihre ssl.conf so oder ähnlich ähnlich
<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
Du kannst es bekommen.
Hoffe diese Hilfe für Linuxer
Es ist sehr einfach,
Führen Sie einfach die folgenden Befehle aus
sudo a2enmod ssl
sudo service apache2 restart
sudo a2ensite default-ssl.conf
Das war's, du bist fertig.
Wenn Sie SSL erzwingen möchten (um immer https zu verwenden), bearbeiten Sie die Datei:
sudo nano /etc/apache2/sites-available/000-default.conf
und fügen Sie diese eine Zeile hinzu
<VirtualHost *:80>
. . .
Redirect "/" "https://your_domain_or_IP/"
. . .
</VirtualHost>
dann neu starten
sudo service apache2 restart
systemctl reload apache2
nach sudo a2ensite default-ssl.conf
.
Ich poste diese Antwort, da ich selbst damit zu kämpfen hatte und Chrome ihre Sicherheit dahingehend aktualisiert hat, dass ein alternativer Betreffname erforderlich ist, den viele Posts nicht haben, da dies nicht erforderlich war, als sie als Antwort veröffentlicht wurden. Ich gehe davon aus, dass WAMP bereits installiert ist.
SCHRITT 1
Laden Sie OpenSSL Light herunter und installieren Sie es
SCHRITT 2 (optional)
Dieser Teil ist zwar optional, erleichtert aber später die Ausführung von Befehlen. Wenn Sie diesen Schritt überspringen, müssen Sie den vollständigen Pfad zu openssl.exe angeben, in dem Sie den Befehl ausführen. Wenn Sie es lieber festlegen möchten, aktualisieren Sie den Pfad openssl.exe in Umgebungsvariablen.
Umgebungsvariablen -> Systemvariablen -> Pfad -> Bearbeiten -> Neu -> c: \ Programme \ OpenSSL-Win64 \ bin
SCHRITT 3
Erstellen Sie einen Ordner mit dem Namen "Schlüssel" im c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/
Verzeichnis.
Erstellen Sie eine Konfigurationsdatei für Ihre CA MyCompanyCA.cnf mit Inhalten (Sie können sie an Ihre Bedürfnisse anpassen ):
[ 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
Erstellen Sie die Erweiterungskonfigurationsdatei MyCompanyLocalhost.ext für Ihr Webserverzertifikat:
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mycy.mycompany.com
SCHRITT 4
Führen Sie diese Befehle in der angegebenen Reihenfolge aus, um den Schlüssel und die Zertifikate zu generieren:
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
Als Ergebnis verfügen Sie über die Dateien MyCompanyCA.cer , MyCompanyLocalhost.cer und MyCompanyLocalhost.pvk .
SCHRITT 5
Installieren Sie MyCompanyCA.cer unter
Systemsteuerung -> Benutzerzertifikate verwalten -> Vertrauenswürdige Stammzertifizierungsstellen -> Zertifikate
Um MyCompanyLocalhost.cer zu installieren, doppelklicken Sie einfach darauf.
SCHRITT 6
Öffnen Sie die folgenden 3 Zeilen c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/httpd.conf
und entfernen Sie den Kommentar (entfernen Sie das #) :
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
SCHRITT 7
Öffnen Sie c:/wamp64/bin/apache/apache2.4.37/conf/extra/httpd-ssl.conf
alle Parameter und ändern Sie sie in die unten gezeigten:
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"
Hinweis: Dies ist der schwierige Teil. Wenn Sie beim Bearbeiten dieser Datei einen kleinen Fehler machen, funktioniert SSL nicht. Erstellen Sie eine Kopie davon, bevor Sie sie bearbeiten.
SCHRITT 8
Starten Sie Wamp und Chrome neu. Localhost ist jetzt sicher: https: // localhost
Dieses HowTo für CentOS war einfach zu befolgen und dauerte nur etwa 5 Minuten: https://wiki.centos.org/HowTos/Https
Ich werde hier nicht jeden Schritt detaillieren, aber die Hauptschritte sind:
1.) Installieren Sie das openssl-Modul für Apache, falls nicht bereits installiert
2.) Generieren Sie ein selbstsigniertes Zertifikat
- Zu diesem Zeitpunkt sollten Sie https: // localhost erfolgreich besuchen können
3.) Richten Sie bei Bedarf einen virtuellen Host ein
Dies funktionierte unter Windows 10 mit Apache24:
1 - Fügen Sie dies am unteren Rand von hinzu 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 - Fügen Sie die server.crt
und server.key
-Dateien in den C:/Apache24/conf/ssl
Ordner ein. Weitere Antworten finden Sie auf dieser Seite, um diese beiden Dateien zu finden.
Das ist es!
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Auf Ihre lokale Umgebung kann über https://youruniquesubdomain.serveo.net zugegriffen werden
Ich konnte es nicht glauben, als ich diesen Service fand. Es bietet alles und ist am einfachsten zu bedienen. Wenn es für jedes Problem ein so einfaches und schmerzloses Werkzeug geben würde ...
Hier wird Apache unter Windows 10 ausgeführt. Ich konnte Chrome nicht dazu bringen, dem Zertifikat zu vertrauen, das in der Top-Antwort von Simon erstellt wurde. Am Ende habe ich mit PowerShell ein selbstsigniertes Zertifikat erstellt.
In PowerShell
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1
Geben Sie Certificate
in die Windows-Suchleiste ein und klicken Sie auf das Manage Computer Certificates
vorgeschlagene Element der Systemsteuerung.
Im daraufhin angezeigten Zertifikatverwaltungsprogramm (certlm) sollte jetzt ein localhost
Schlüssel unter angezeigt werden Personal >> Certificates
.
Ich habe dieses Zertifikat in kopiert Trusted Root Certification Authorities
. Ich bin ehrlich, ich bin mir nicht sicher, ob das notwendig ist.
Doppelklicken Sie auf das neu kopierte Zertifikat (das localhost-Zertifikat). Klicken Sie im Modal Zertifikat auf die Details
Registerkarte und dann auf die Copy to File...
Schaltfläche.
Dadurch wird der Export-Assistent aufgerufen. Ich habe mich für den Export des privaten Schlüssels entschieden und auf Weiter geklickt. Ich habe mich auch dafür entschieden Export all extended properties
(auch hier bin ich mir nicht sicher, ob das notwendig war). Ich habe mich für ein einfaches Passwort ( pass
) und die Standardverschlüsselung entschieden. Wählen Sie einen Ordner aus, in den exportiert werden soll, und benennen Sie die Datei. Sie können die Datei bei Bedarf jederzeit verschieben und umbenennen. Der Einfachheit halber kopieren wir es in Ihren conf-Ordner unter Ihrer Apache-Installation (in meinem Fall :) C:\apache\conf
und benennen die Datei myCert
(die resultierende Datei ist eine .pfx
Datei).
.pfx
Datei zur Verwendung mit ApacheVon hier aus habe ich im Grunde das Tutorial hier befolgt , aber ich werde hier Anweisungen hinzufügen (angepasst für unsere Einstellungen), falls diese Seite ausfällt.
Öffnen Sie Ihre Eingabeaufforderung im /apache/conf/
Ordner.
Führen Sie die folgenden Befehle aus: Hinweis: Dies setzt voraus, dass Sie sich openssl.exe
im bin
Ordner im Apache-Stammordner befinden (dies sollte Standard / Standard sein).
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
Dadurch werden Sie zur Eingabe eines Kennworts aufgefordert. Geben Sie ein, was Sie beim Exportieren der .pfx
Datei für Schritt 2 eingegeben haben . In meinem Fall ist dies pass
. Ich habe das gleiche Passwort für die PEM-Phrase eingegeben und erneut überprüft. Dadurch wird eine neue Datei erstellt, die privateKey.pem
in Ihrem conf-Ordner aufgerufen wird.
Dann renne
..\bin\openssl rsa -in privateKey.pem -out private.pem
Sie werden erneut aufgefordert, ein Kennwort einzugeben ( Enter pass phrase for privateKey.pem:
). Verwenden Sie das von Ihnen festgelegte Kennwort privateKey.pem
. (In meinem Fall pass
)
Sie sollten eine Meldung mit dem Titel writing RSA key
und eine neue Datei private.pem
in Ihrem conf/
Ordner sehen. Dies ist Ihre SSLCertificateKeyFile.
Generieren Sie nun das entsprechende Serverzertifikat. Lauf:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
Dadurch werden Sie zur Eingabe eines Kennworts aufgefordert. Geben Sie ein, was Sie beim Exportieren der .pfx
Datei für Schritt 2 eingegeben haben . Geben Sie es ein und Sie haben jetzt eine Datei EntrustCert.pem
in Ihrem conf
Ordner. Dies ist Ihre SSLCertificateFile
httpd.conf
Verwenden Sie die neuen Dateien, die als Schlüssel und Zertifikat Ihres Servers erstellt wurden. Stellen Sie sicher, dass Sie Ihr Dokumentenstammverzeichnis so ändern, dass sich Ihre Dateien dort befinden!
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>
Auch in httpd.conf
:
LoadModule ssl_module modules/mod_ssl.so
es nicht kommentiert ist (nein #
vorne)LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule http2_module modules/mod_http2.so
Include conf/extra/httpd-ssl.conf
: Stellen Sie sicher, dass sich dort die Datei befindet!)Ich habe auch Curl- und Open-SSL-Bibliotheken enthalten:
# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"
Diese Module sollten nicht notwendig sein, aber ich werde feststellen, dass ich sie aktiviert habe:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
httpd-ssl.conf
In dem extra/
Ordner im conf/
Ordner sollte eine Datei mit dem Namen angezeigt werden httpd-ssl.conf
.
5a. Ändern Sie dasDocumentRoot
- Ändern Sie das DocumentRoot
von der Standardeinstellung in das Verzeichnis, in dem sich Ihre Dateien befinden.
5b. Ändern Sie dieServerName
- Ändern Sie die ServerName
von der Standardeinstellung (so etwas wie www.example.com:443
) inlocalhost:443
5c. Ändern Sie dasSSLCertificateFile
Ändern Sie das SSLCertificateFile
von der Standardeinstellung ( ${SRVROOT}/conf/server.crt
) in${SRVROOT}/conf/EntrustCert.pem
5c. Ändern Sie dasSSLCertificateKeyFile
Ändern Sie das SSLCertificateKeyFile
von der Standardeinstellung ( ${SRVROOT}/conf/server.key
) in${SRVROOT}/conf/private.pem
Alles zusammen im <VirtualHost _default_:443>
Tag.
# 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"
Nachdem Sie diese Änderungen vorgenommen haben, sollten Sie in der Lage sein, Apache neu zu starten und ohne Sicherheitswarnung und ein kleines Vorhängeschloss zu https: // localhost zu navigieren !
Ich hoffe das hilft jemandem! 😊
Quellen:
1.) Antwort von Auri Rahimzadeh zum Erstellen eines selbstsignierten Zertifikats
2.) Entrust Datacard - Wie konvertiere ich eine PFX-Datei, die mit einem Apache-Server verwendet werden soll?
Eine andere einfache Methode ist die Verwendung von Python Server in Ubuntu.
Generieren Sie server.xml mit dem folgenden Befehl im Terminal:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
Hinweis: Angenommen, Sie haben openssl installiert.
Speicher unter Code in einer Datei mit dem Namen simple-https-server.py
in jedem Verzeichnis , das Sie wollen den Server auszuführen.
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()
Führen Sie den Server vom Terminal aus:
python simple-https-server.py
Besuchen Sie die Seite unter:
https://localhost:4443
Zusätzliche Hinweise: :
Sie können den Port in der simple-https-server.py
Datei in Zeile ändern
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
Sie können in derselben Zeile oben zu Ihrer IP wechselnlocalhost
:
httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
und greifen Sie auf die Seite eines beliebigen Geräts zu, mit dem Ihr Netzwerk verbunden ist. Dies ist sehr praktisch in Fällen wie "Sie müssen die HTML5-GeoLocation-API in einem Mobiltelefon testen und Chrome schränkt die API nur in sicheren Verbindungen ein".
Inhalt: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
Für diejenigen, die macOS verwenden, ist dies eine großartige Anleitung https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions , um Ihre lokale Webentwicklungsumgebung einzurichten. In seinem dritten Teil https://getgrav.org/blog/macos-sierra-apache-ssl erklärt Andy Miller, wie man Apache mit einem selbstsignierten Zertifikat einrichtet:
Dies ist der Schlüsselbefehl:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Aber es gibt ein paar Schritte, die Sie befolgen müssen, also probieren Sie das aus und viel Glück! ;)
Ich möchte der sehr guten Antwort von @CodeWarrior etwas hinzufügen, das unter Chrome perfekt funktioniert, für Firefox jedoch einen zusätzlichen Schritt benötigt.
Da Firefox keine CA-Zertifikate ausgibt, die Windows standardmäßig ausführt, müssen Sie fortfahren about:config
, nach unten scrollen security.enterprise_roots.enabled
und in true ändern.
Jetzt sollte Ihr Zertifikat auch in Firefox als gültig angesehen werden.
Dies dient natürlich nur zu Entwicklungszwecken, da SSL-Vertrauen ein kritisches Sicherheitsbedenken darstellt. Ändern Sie diese Einstellungen nur, wenn Sie die Auswirkungen kennen.
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
https://youruniquesubdomain.serveo.net