2016-04-17 5 views
6

Ich habe eine grundlegende Hallo-Welt-Anwendung in Haskell Servant und Warp. Dies ist nicht wirklich Code, sondern aus Gründen der Einfachheit sagen wir, ich es bin mit:Haskell Warp/Wai und HTTPS - wie man sie arbeiten lässt?

import Network.Wai 
import Network.Wai.Handler.Warp 
import Servant 


personAPI :: Proxy PersonAPI 
personAPI = Proxy 

server :: Server PersonAPI 
server = return people 

app :: Application 
app = serve personAPI server 

serveApp :: IO() 
serveApp = run 80 app 

auf einem Server gut funktioniert. Mit http.

Ich benutze keine Nginx oder Apache, ich laufe es wie es ist und an diesem Punkt ist es in Ordnung für mich.

Aber mit https wird die Seite nicht geladen. Ich habe https-Zertifikat installiert, aber ich habe festgestellt, dass ich Warp/Wai irgendwie einrichten sollte, um es zu verwenden, weil es standardmäßig nicht verwendet wird. Es gibt Mangel an Informationen darüber - Warp/Wai und SSL, ich habe nichts gefunden. Könnte mir jemand helfen?

Antwort

7

ich die einfachste Art und Weise erraten ist die warp-tls Bibliothek - settup Ihr ​​Zertifikat Dateien im TLSSettings (Ich würde versuchen, tlsSettings zuerst) und verwenden runTLS statt run:

serveApp :: IO() 
serveApp = do 
    let tls = tlsSettings "pathToCert" "pathToKey" 
    runTLS tls (setPort 443 defaultSettings) app 
+0

Sie alles wissen! – Jushiti

+0

aber bei warp-tls heißt es "Unterstützung für SSL ist jetzt veraltet." Und SSL ist was ich brauche. – Jushiti

+0

Ich kann Ihnen versichern, ich weiß sehr wenig (neben, wie Sie Abfragen in Hayoo eingeben;)) – Carsten

Verwandte Themen