2015-05-25 19 views
3

有沒有在Snap服務器中啓用HTTPS的簡單例子? 我不是那個進入OpenSsl和它與Snap的用法。 謝謝如何在Snap服務器上啓用HTTPS?

+2

你看過http://snapframework.com/faq#how-do-i-enable-ssl嗎?你卡在哪裏? –

+0

我讀過,是的。我認爲它會更加程序化,直接來自服務器,使用這些[函數]之一寫在應用程序中(https://hackage.haskell.org/package/snap-server-0.9.5.1/docs/Snap- Http-Server-Config.html) –

+0

@JPMoresmau關於這方面的官方文檔是誤導性的,因爲它假設你通過'commandLineAppConfig'使用內部cli參數解析器,根據你的項目,這可能是也可能不是真的。 – hasufell

回答

2

JP Moresmau向您展示瞭如何從命令行啓用它,但以相同的編程方式同樣簡單。啓動Snap的「主循環」功能需要一個配置參數作爲第一個參數,您可以看到in this bit of documentation。您可以直接撥打Snap.Http.Server.Config模塊的defaultConfig,然後撥打setSSLPort,setCertsetSSLKey。然後,您可以將此新配置作爲第一個參數傳遞給httpServe。如果您使用snap init,您可以在src/Main.hs中找到所有相關代碼。

正如您所見here,使用a description of options從命令行創建了默認配置。所以改變defaultConfig與傳遞命令行參數完全相同。

我覺得有點奇怪的是,沒有defaultSSLConfig可以生成自簽名證書,因此您可以快速嘗試SSL。此外,證書和密鑰的類型爲FilePath也很奇怪。也許這是Snap團隊檢查的好請求?

相關問題