Web 服务器 getFromFile 上的 akka-http 在刷新时导致 404s

Posted

技术标签:

【中文标题】Web 服务器 getFromFile 上的 akka-http 在刷新时导致 404s【英文标题】:akka-http on web server getFromFile results in 404s on refresh 【发布时间】:2018-07-15 15:32:59 【问题描述】:

我将 akka-http 用于基于 React 的单页应用程序的 Web 服务器,并且在刷新我的网站时遇到问题。我为所请求的资源(只是 index.html)返回 404。执行“超级刷新”(ctrl + 刷新)工作正常,一切都按预期加载。但是当我进行正常刷新并且 if-modified-since 标头包含在请求标头中时,我注意到服务器返回了 404 响应。

~ 
  getFromFile(s"$STATIC_CONTENT_ROOT/index.html")

为了确保这确实是问题所在,我进行了健全性检查。我更新了代码以将资源文件夹中所有文件(所有 js 文件和 index.html)的修改日期更新为捕获全部/刷新端点时的当前时间,并注意到这修复了刷新问题。但是,“解决方案”仅适用于本地,因为一旦将它们部署到实际的开发或生产共享主机,我就没有这些资源的写入权限。

我现在只是在寻找一种解决方案,它可以让我忽略标题的这一部分,或者真正正确地处理它。我尝试使用 akka-http 的条件(...)指令,但没有任何运气。

以前有人遇到过这个问题吗?并成功解决了这个问题?

【问题讨论】:

也在github.com/akka/akka-http/issues/1838 上报告。听起来这可能是一个错误,一个重现这种情况的小项目或测试会很棒! 【参考方案1】:

我发现getFromFile 指令实际上在内部使用了conditional 指令。这可以通过配置RoutingSettings来关闭。

【讨论】:

以上是关于Web 服务器 getFromFile 上的 akka-http 在刷新时导致 404s的主要内容,如果未能解决你的问题,请参考以下文章

使用 GraphQL 的 AKS 上的 Websocket 未连接

正式发布丨AKS上的DaprMLGitops扩展

模拟 AKS 中的应用程序和 Azure 中的 PostgreSQL 服务器之间的网络延迟

WEB AK赛

将网站或域与 AKS 群集链接

使用百度地图API服务中的问题汇总