首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全头/策略应该在nginx还是express中设置?

安全头/策略应该在nginx还是express中设置?
EN

Stack Overflow用户
提问于 2016-07-05 06:53:54
回答 1查看 366关注 0票数 0

在设置CSP等安全策略和HSTS等http安全头时,最佳实践是什么?是否应该在我的express.js应用程序中配置它们?还是在nginx中配置它们是最佳实践?我找到了关于如何实现它们的文档,但我不确定它们应该在哪里实现。

EN

回答 1

Stack Overflow用户

发布于 2016-07-05 14:29:37

两者都可以使用。你应该把它们放在最适合你的地方,这取决于你的设置。

我假设你在一个或多个NodeJs应用服务器前面有一个Nginx web服务器?

如果是,那么一些页面是从Nginx返回的(例如静态页面)还是从Node返回的页面(例如动态页面)?您是否有多个Node服务器?

它还取决于您对Node执行的操作。让Nginx返回HTML、CSS和Javascript,然后使用Javascript对节点服务器进行AJAX调用以返回JSON数据,这种情况非常常见。因为在HTML文档上需要CSP,而不是tele JSON,所以在这个场景中从Node返回CSP头是没有意义的。

像HSTS这样的一些头文件是为整个域设置的,所以对我来说,在Nginx层设置它们是有意义的,这样它们就会影响所有的请求-由Nginx服务的静态页面和由一个或多个Node服务器服务的动态页面。这也意味着,如果您还设置了另一个节点服务器,则不必记住设置它们。

但是,如果为每个服务和/或请求返回不同的数据,那么在Node中这样做可能是有意义的。例如,如果您的Node应用程序需要能够根据传入的请求设置不同的CORS头部,那么在Nginx中这样做并尝试基于请求URL和参数重复逻辑是没有意义的。

最终,你应该根据应用程序的设置决定在最有意义的地方进行设置,在最有可能被正确设置的地方(所以当它不应该被设置为错误的值时不设置它,并且将来也不会太容易忘记设置它),以及在管理它最有意义的地方(例如,有时更改应用程序代码比服务器配置更容易,反之亦然)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38193122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档