gpt4 book ai didi

haskell - 使用 warp 监听特定主机

转载 作者:行者123 更新时间:2023-12-02 21:06:05 25 4
gpt4 key购买 nike

运行 warp 时应用程序使用 run ,它监听所有 IP 地址。

出于安全原因,我只想监听 localhost,使用反向代理处理远程访问。

我需要如何调用 run 才能仅监听特定主机/IP?

注意:这个问题故意表现出没有研究工作,因为它是以问答方式回答的。

最佳答案

当前接受的答案因导管和/或扭曲的更改而被破坏。 Warp 不再导出 Host 构造函数。但你不需要它,因为 HostPreference 类型支持 OverloadedStrings 扩展,因此你可以直接使用字符串。

此示例还通过切换到 setPortsetHost 消除了弃用警告。

{-# LANGUAGE OverloadedStrings #-}

import Network.Wai (responseLBS)
import Network.Wai.Handler.Warp
import Network.HTTP.Types (status200)
import Network.HTTP.Types.Header (hContentType)

main = do
let port = 3000
putStrLn $ "Listening on port " ++ show port
let settings = setPort port $ setHost "127.0.0.1" defaultSettings
runSettings settings app

app req = return $
responseLBS status200 [(hContentType, "text/plain")] "Hello world!"

关于haskell - 使用 warp 监听特定主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22620622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com