Haskell 如何让stack仅对“网络”内容使用代理,而不用于下载黑客

Haskell 如何让stack仅对“网络”内容使用代理,而不用于下载黑客,haskell,proxy,haskell-stack,great-firewall-of-china,Haskell,Proxy,Haskell Stack,Great Firewall Of China,所以我在中国,Github在这里并不总是可以访问的 我在为一个项目运行stack install时会遇到这种情况 HttpExceptionRequest Request { host = "raw.githubusercontent.com" port = 443 secure = True requestHeaders = [("User-Ag

所以我在中国,Github在这里并不总是可以访问的

我在为一个项目运行
stack install
时会遇到这种情况

HttpExceptionRequest Request {
  host                 = "raw.githubusercontent.com"
  port                 = 443
  secure               = True
  requestHeaders       = [("User-Agent","The Haskell Stack")]
  path                 = "/fpco/stackage-content/master/stack/stack-setup-2.yaml"
  queryString          = ""
  method               = "GET"
  proxy                = Nothing
  rawBody              = False
  redirectCount        = 10
  responseTimeout      = ResponseTimeoutDefault
  requestVersion       = HTTP/1.1
}
 (InternalException (HostCannotConnect "raw.githubusercontent.com" [Network.Socket.connect: <socket: 15>: does not exist (Connection refused)]))

但这样做意味着stack也会通过代理下载黑客,而我正好在使用清华镜像:

package-indices:
  - download-prefix: http://mirrors.tuna.tsinghua.edu.cn/hackage/
    hackage-security:
        keyids:
        - 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d
        - 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42
        - 280b10153a522681163658cb49f632cde3f38d768b736ddbc901d99a1a772833
        - 2a96b1889dc221c17296fcc2bb34b908ca9734376f0f361660200935916ef201
        - 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3
        - 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921
        - 772e9f4c7db33d251d5c6e357199c819e569d130857dc225549b40845ff0890d
        - aa315286e6ad281ad61182235533c41e806e5a787e0b6d1e7eef3f09d137d2e9
        - fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0
        key-threshold: 3 # number of keys required

        # ignore expiration date, see https://github.com/commercialhaskell/stack/pull/4614
        ignore-expiry: no

这意味着我现在从新加坡的代理服务器上访问中国镜像,速度非常慢

我有一个快速的解决办法,就是移除中国的镜子,让一切都通过代理。但如果可能的话,我还是想用中国的镜子


因此,我想知道是否有一种方法可以将堆栈配置为仅对
网络
内容使用代理,而不用于下载黑客?

您可以代理到您控制下的服务器(例如在您的机器上),并将请求转发给代理或黑客appropriate@BenjaminHodgson哦,是的,我想这是目前为止最好的解决方案!我是proxy forwarrding的初学者,所以我很好奇,对于这个用例,你会推荐什么作为最佳方法?或者有什么好的教程或地方可以开始学习?(目前我正在关注glider)你可以代理到你控制下的服务器(例如在你的机器上),并将请求转发给代理或黑客appropriate@BenjaminHodgson哦,是的,我想这是目前为止最好的解决方案!我是proxy forwarrding的初学者,所以我很好奇,对于这个用例,你会推荐什么作为最佳方法?或者有什么好的教程或地方可以开始学习?(目前我正盯着滑翔机)
package-indices:
  - download-prefix: http://mirrors.tuna.tsinghua.edu.cn/hackage/
    hackage-security:
        keyids:
        - 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d
        - 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42
        - 280b10153a522681163658cb49f632cde3f38d768b736ddbc901d99a1a772833
        - 2a96b1889dc221c17296fcc2bb34b908ca9734376f0f361660200935916ef201
        - 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3
        - 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921
        - 772e9f4c7db33d251d5c6e357199c819e569d130857dc225549b40845ff0890d
        - aa315286e6ad281ad61182235533c41e806e5a787e0b6d1e7eef3f09d137d2e9
        - fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0
        key-threshold: 3 # number of keys required

        # ignore expiration date, see https://github.com/commercialhaskell/stack/pull/4614
        ignore-expiry: no