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 未连接