Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell Warp/Wai和HTTPS——如何使它们工作?_Haskell_Ssl_Https_Haskell Warp - Fatal编程技术网

Haskell Warp/Wai和HTTPS——如何使它们工作?

Haskell Warp/Wai和HTTPS——如何使它们工作?,haskell,ssl,https,haskell-warp,Haskell,Ssl,Https,Haskell Warp,我在Haskell Servant和Warp中有一个基本的hello world应用程序。这不是真正的代码,但为了简单起见,假设我正在使用它: import Network.Wai import Network.Wai.Handler.Warp import Servant personAPI :: Proxy PersonAPI personAPI = Proxy server :: Server PersonAPI server = return people app :: Appl

我在Haskell Servant和Warp中有一个基本的hello world应用程序。这不是真正的代码,但为了简单起见,假设我正在使用它:

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证书,但我认为我应该以某种方式设置warp/wai来使用它,因为默认情况下它不会使用它。关于这方面的信息不足-warp/wai和SSL,我没有找到任何东西。有人能帮我吗

我想最简单的方法是使用库-在
TLSSettings
中设置您的证书文件(我将首先尝试),并使用而不是
运行

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

你什么都知道!但是在warp tls,它说“对SSL的支持现在已经过时了。”而SSL正是我所需要的。我可以向你保证,我知道的很少(除了如何将查询输入Hayoo;),我以前从未听说过Hayoo,那不是我。我环顾了一下四周,我觉得包中的评论有点误导:(如果我理解正确,这意味着当前的浏览器将在标题上建立TLS,因此您可能不再需要Open443端口,可以使用80(?)——正如我所说:我不是这方面的专家)