2016-04-17 6 views
6

私はHaskell ServantとWarpで基本的なhello-worldアプリケーションを持っています。これは実際のコードではありませんが、簡単にするために、私はそれを使用しているとしましょう:Haskell Warp/WaiとHTTPS - それらを動作させる方法は?

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 

それはサーバー上で正常に動作します。 httpで。私はnginxのまたはApacheを使用していないよ

、-であるように私はそれを実行し、この時点で、それは私のために大丈夫です。

しかし、httpsではページが読み込まれません。 https証明書をインストールしましたが、デフォルトでは使用しないため、ワープ/ワイを使用するように設定する必要があります。ワープ/ワイとSSLに関する情報が不足しています。何も見つかりませんでした。誰か助けてくれますか?

答えて

7

は私が最も簡単な方法は、warp-tlsライブラリを使用していると思います - あなたの証明書ファイルsettup TLSSettingsに(私が最初tlsSettingsをしようとするだろう)とrunの代わりにrunTLSを使用します。

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

あなたはすべてを知っています! – Jushiti

+0

ですが、warp-tlsでは「SSLのサポートが廃止されました」と書かれています。SSLが必要です。 – Jushiti

+0

私は、私は非常に少し知っているあなたを保証することができ、それは私ではないですが、私は前にHayoo聞いたことがない – Carsten

関連する問題