Ich möchte einen lokalen HTTP-Server einrichten, der auf meinem Mac OSX-Computer ausgeführt wird und in der Lage sein sollte, Anforderungen zu verarbeiten, die vom Webbrowser kommen. Aber ich bin mir nicht sicher, ob wir HTTPS-Server mit Swift einrichten können. In diesem https://swift.org/server-apis/ gibt es nur Informationen zu HTTP, aber nicht zu HTTPS. Jede Hilfe wird sehr geschätzt
Ja, Apples Swift-Sprache kann verwendet werden, um einen Webserver zu erstellen, der HTTPS-Verbindungen akzeptiert. Siehe Going server-side with Swift Open Source für Apples Einführung in die Entwicklung von Servern.
Mit Swift haben Sie Zugriff auf eine Reihe von integrierten und Drittanbieter-SSL/TLS-Bibliotheken. Die zum Schreiben der Bibliothek verwendete Sprache ist nicht wichtig, solange die Bibliothek eine C-API anbietet.
Wenn Sie ein Entwickler sind, ziehen Sie in Betracht, das Netzwerk-Framework von Apple zu verwenden . Das Framework behauptet, eine einfachere Unterstützung für sichere Verbindungen bereitzustellen.
Alternativ können Sie auch das Open-Source-Projekt AFNetworking verwenden .
Wenn Sie sich auf die Sicherheitsangebote von Apple konzentrieren möchten , haben Sie die Wahl zwischen:
Beachten Sie, dass die meisten davon letztendlich auf der Basis des Common Crypto- Codes auf niedriger Ebene basieren.
Erwägen Sie die Verwendung eines vorhandenen Webservers wie Nginx, httpd oder Caddy, um als transparenter Proxy vor Ihrem eigenen Dienst zu fungieren. Der vorhandene Webserver kann die SSL/TLS-Sicherheit handhaben und HTTP-Anforderungen an Ihren lokal ausgeführten Dienst zurückgeben.
Dies ist eine ziemlich häufige Konfiguration, da sie Ihren Dienst vereinfacht und die Sicherheitslast auf einen gut getesteten vorhandenen Front-End-Server legt.
Wenn Sie kein Entwickler sind, sollten Sie einen vorgefertigten Webserver mit Unterstützung für (kostenlose) TLS-Zertifikate von Lets Encrypt verwenden. Ein solcher Server ist Caddy:
Caddy ist der HTTP/2-Webserver mit automatischem HTTPS.
Graham Mill
MacEntwickler
kein Hang