Wie erlaube ich HTTPS für Apache auf localhost?
Wurde ich gebeten, HTTPS mit einem selbstsignierten cert auf Apache auf localhost, aber wie Tue ich das? Ich habe überhaupt keine Idee.
InformationsquelleAutor der Frage KennC. | 2010-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade versucht diese - ich brauchte, um zu testen, einige Entwicklung-code auf meinem localhost Apache auf Windows. Dies war WAAAY schwieriger, als es sein sollte. Aber hier sind die Schritte, geschafft, nach viel Haaren...
Fand ich, dass mein Apache zu installieren, kommt mit
openssl.exe
was hilfreich ist. Wenn Sie nicht über eine Kopie, die Sie brauchen, um es herunterzuladen. Mein Exemplar war inApache2\bin
Ordner, was ich als Verweis weiter unten.Schritte:
Apache2\conf
Ordner..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
Lassen Sie alle Fragen leer, außer:
Wenn das abgeschlossen ist, geben
..\bin\openssl rsa -in blarg.pem -out blarg.key
Generieren Sie Ihre selbst-signiertes Zertifikat, indem Sie:
..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
Öffnen Sie die Apache -
conf\httpd.conf
Datei und vergewissern Sie sich SSL-Modul aktiviert ist - sollte es keine hash am Anfang dieser Zeile:LoadModule ssl_module modules/mod_ssl.so
Einige Apache-Installationen legen Sie die SSL-Konfiguration in eine separate Datei. Wenn ja, stellen Sie sicher, dass der SSL-conf-Datei eingefügt wird. In meinem Fall hatte ich die Auskommentierung dieser Zeile:
Include conf/extra/httpd-ssl.conf
In der SSL config
httpd-ssl.conf
ich, um das update hatte die folgenden Zeilen:SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
(Die Klammern im Pfad verwechseln Sie das Modul, so brauchen wir, Ihnen zu entkommen)
DocumentRoot
- legen Sie den Ordner für Ihre web-DateienServerName
- hostname des ServersSSLCertificateFile "conf/blarg.cert"
SSLCertificateKeyFile "conf/blarg.key"
Starten Sie Apache Neu.
https://localhost/
in Ihrem browser.Hoffentlich haben Sie es so weit geschafft. Fühlen Sie sich frei, diesen Beitrag zu aktualisieren, die mit jeder andere hilfreiche info.
(Screenshots mit freundlicher Genehmigung von Neil Obremski und seine hilfreiche Artikel - obwohl inzwischen ziemlich out-of-date.)
InformationsquelleAutor der Antwort
Benutze ich ngrok ( https://ngrok.com/ ).
ngrok ist ein Kommandozeilen-tool und erstellen Sie einen tunnel für localhost. Es schafft sowohl http-als auch https-Verbindung.
Nach dem herunterladen, kann man folgenden Befehl ausgeführt werden muss :
( In der version 2, die syntax ist : ngrok http 80 . In der version 2, alle port getunnelt werden können. )
Nach wenigen Sekunden, wird es geben Sie zwei urls :
Nun beide urls zeigen auf den localhost.
InformationsquelleAutor der Antwort sudip
hier ist der einfachste Weg, dies zu tun
ersten kopieren Sie diese server.crt & server.Schlüssel Dateien (zu finden im Anhang ) in deinem apache/conf/ssl-Verzeichnis
dann öffnen Sie httpd.conf-Datei und fügen Sie folgende Zeile
InformationsquelleAutor der Antwort Anil Gupta
Es ist eigentlich ganz einfach, vorausgesetzt, Sie haben eine openssl-installation praktisch. (Auf welcher Plattform sind Sie?)
Angenommen, Sie sind auf linux/solaris/mac os/x, Van ' s Apache SSL/TLS mini-HOWTO hat eine hervorragende Anleitung dazu, die ich nicht reproduzieren hier.
Aber die Zusammenfassung ist, dass Sie erstellen ein selbst signiertes Zertifikat. Da bist du auf dem apache ausgeführt wird, für "localhost" vermutlich für die Entwicklung (d.h. eine nicht-öffentliche web-server), werden Sie wissen, dass Sie Vertrauen können das selbst-signierte Zertifikat und können die Warnungen ignorieren, die Ihr browser werfen auf Sie.
InformationsquelleAutor der Antwort Pete Clark
Windows + Apache 2.4, zum Beispiel:
kommentieren ssl_module in Ihrem
httpd.conf
Datei.hören 443 port wie port 80 in Ihrem
httpd.conf
Datei.kommentieren Sie auch die Virtuellen hosts in Ihrem
httpd.conf
Datei.hinzufügen VirtualHost in Ihrem
conf/extra/httpd-vhosts.conf
nur die port-Nummer
443
undSSL......
Linien unterscheiden sich von normalen http-config.speichern Sie die Konfigurationsdatei und starten Sie den apache-Dienst. dann besuchen Sie https://localhost/
Wird der browser Sie warnen, dass es ist unsicher beim ersten mal, wählen Sie einfach gehen.
InformationsquelleAutor der Antwort cuixiping
Sollte dies funktionieren Ubuntu, Mint ähnlich wie mit Apache2
Es ist eine schöne Anleitung, also nach diesen
https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04
und lassen Sie Ihre ssl.conf " - so oder ähnlich ähnlich
können Sie es bekommen.
Hoffen, dass diese Hilfe für linuxer
InformationsquelleAutor der Antwort ackuser
Im Hinblick auf den Schutz der Sicherheit der Informationen, die gesendet werden zu und von Ihrem web-server, ist es eine gute Idee, aktivieren Sie die Verschlüsselung der Kommunikation zwischen clients und dem server. Dies wird Häufig als SSL.
Setzen wir also bis HTTPS mit einem selbstsignierten Zertifikat auf Apache2. Ich werde die Liste der Schritte, denen Sie Folgen sollten:
Es ausgeben sollte
Stellen Sie sicher, dass Sie get default Seite für den apache2 wie diese.
Bitte füllen Sie die Daten entsprechend wie unten dargestellt.
mykey.Schlüssel und mycert.pem - geschaffen werden sollte, in Ihrer gegenwärtigen Arbeitsverzeichnis.
Es sollte eine Ausgabe wie diese
Finden Sie diese zwei Zeilen, und ersetzen Sie Sie mit Ihrem Zertifikat und Schlüssel-Pfade.
Ersten
Letzten
Sollte die Ausgabe so etwas wie dies mit einer Warnung, dass die Seite, die Sie über anzeigen ist nicht sicher, weil wir so konfiguriert haben, dass der server mit einem selbst-signierten Zertifikat.
InformationsquelleAutor der Antwort Dinesh Kumar
Diese Anleitung für CentOS war einfach zu Folgen und dauerte nur etwa 5 Minuten: https://wiki.centos.org/HowTos/Https
Werde ich nicht detail jeder Schritt hier, aber die wichtigsten Schritte sind:
1.) Installieren Sie das openssl-Modul für den apache, falls nicht bereits installiert
2.) Generieren eines selbstsignierten Zertifikat
--An diesem Punkt, Sie sollten in der Lage sein besuchen Sie https://localhost erfolgreich
3.) Richten Sie einen virtuellen host, wenn nötig
InformationsquelleAutor der Antwort KayakinKoder
Eine weitere einfache Methode ist die Nutzung der Python-Server in Ubuntu.
Generieren 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.
Speichern Sie folgenden code in eine Datei namens
simple-https-server.py
im alle Verzeichnis, das Sie möchten, um den server zu starten.Starten Sie den server über terminal:
python simple-https-server.py
Besuchen Sie die Seite unter:
https://localhost:4443
Zusätzliche Hinweise::
Können Sie ändern Sie die port in
simple-https-server.py
Datei in Zeilehttpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
Können Sie ändern
localhost
zu Ihrer IP - in der gleichen Zeile oben:httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
und den Zugriff auf die Seite auf jedem Gerät Ihrem Netzwerk verbunden. Dies ist sehr nützlich in Fällen wie "Sie haben zu testen, HTML5-GeoLocation-API im mobile und Chrome beschränkt die API in sicheren verbindungen".
Kern: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
InformationsquelleAutor der Antwort Asim K T
Es ist sehr einfach,
führen Sie einfach die folgenden Befehle
Das ist es, sind Sie fertig.
Wenn Sie möchten, um force SSL (https immer), Bearbeiten Sie die Datei:
und fügen diese Zeile
dann wieder starten,
InformationsquelleAutor der Antwort Rifaideen
Für diejenigen unter macOS ist dies ein großer Führer https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions zum einrichten Ihres lokalen web-dev-Umgebung. In seinem 3. Teil https://getgrav.org/blog/macos-sierra-apache-ssl Andy Miller erläutert das einrichten von apache mit einem selbst signierten Zertifikat:
Dies ist der Schlüssel-Befehl:
Aber es gibt ein paar Schritte, die Sie Folgen müssen, so, dass der check out und viel Glück! 😉
InformationsquelleAutor der Antwort tiomno
Dies funktioniert auf Windows 10 mit Apache24:
1 - Fügen Sie diese an der Unterseite der
C:/Apache24/conf/httpd.conf
2 - Fügen Sie die
server.crt
undserver.key
Dateien in derC:/Apache24/conf/ssl
Ordner. Siehe die anderen Antworten auf dieser Seite zu finden die 2 Dateien.Das ist es!
InformationsquelleAutor der Antwort jogi99