当设置安全策略(如CSP和http安全性头文件,如HSTS)时,最佳实践是什么?它们是否应该在我的express.js应用程序中配置?或者是在nginx中配置它们的最佳做法?我找到了关于如何实施它们的文件,但我不确定它们应该在哪里实施。是否应该在nginx或express中设置安全标头/策略?
0
A
回答
1
两者都可以使用。你应该把它们放在最适合你的地方,并且取决于你的设置。
我假设你在一个或多个NodeJs应用程序服务器前有一个Nginx Web服务器?
如果是这样,那么是从Nginx返回的一些页面(例如静态页面)和一些来自节点(例如动态)?你有多个节点服务器吗?
这也取决于你在做什么与节点。让Nginx返回HTML,CSS和Javascript是非常常见的,然后使用该Javascript来对节点服务器进行AJAX调用以返回JSON数据。由于HTML文档需要CSP而不是远程JSON,因此在这种情况下从Node返回CSP头是没有意义的。
像HSTS有的头被设置为整个域的话,对我来说,这是有道理的,在Nginx的层设置它们,所以它们会影响所有的请求 - 由Nginx的服务的静态页面,并通过一个或多个节点服务器提供服务的动态网页。这也意味着如果您还设置了另一个节点服务器,则不必记住设置它们。
但是,如果为每个服务和/或请求返回不同的数据,则可以在Node中执行此操作。例如,如果您的Node应用程序需要根据请求的不同来设置不同的CORS头,那么在Nginx中执行此操作是没有意义的,并尝试根据请求URL和参数重复逻辑。
最终,您应该根据应用程序的设置决定去做它最有意义的位置,它最有可能被正确设置(所以当它不应该被设置为错误的值时它不会被设置,所以它也不会被设置在将来很容易忘记设置它)以及对其进行管理最有意义的地方(例如,有时比服务器配置更容易改变应用程序代码,反之亦然)。
相关问题
- 1. 设置安全策略文件在Eclipse
- 2. 你应该在哪里配置内容安全策略?
- 3. 设置SVN忽略是否安全?在应该版本控制的目录中?
- 4. 应该在策略模式中使用安全指针吗?
- 5. 如何使用nginx设置Referrer策略
- 6. Oracle安全策略
- 7. 在WSDL中指定安全策略信息是否常见?
- 8. 使用WLST(Weblogic)在JNDI根目录上设置安全策略
- 9. 安全例外 - 该应用程序试图执行安全策略
- 10. 应用小程序的安全策略
- 11. 无法在nginx上设置etag标头
- 12. 与内容安全策略
- 13. 线程安全策略
- 14. AWS内容安全策略
- 15. Windows本地安全策略
- 16. Play框架 - 内容安全策略设置不起作用?
- 17. 我应该在单页面应用程序中设置Ajax响应中的内容安全策略头文件吗?
- 18. 设置CAS策略
- 19. 这个Google LVL策略实施是否合理安全?
- 20. 内容安全策略是否阻止书签?
- 21. 如何在Tomcat中合理配置安全策略6
- 22. 如何在C#中设置组策略的密码策略
- 23. iFrame中webapp的内容安全策略
- 24. ASP.NET WebForms中的内容安全策略
- 25. Nginx配置版本控制策略
- 26. 是否可以在Asp.net Web.config中添加多个内容安全策略指令?
- 27. 无法通过PHP修改内容安全策略头文件
- 28. 将CGFloat设置为double是否安全?
- 29. 设置git的core.precomposeunicode = true是否安全?
- 30. 在Ehcache中设置刷新策略
这是正确的。我在4节点服务器前有一个nginx服务器。一些页面由nginx返回,一些从节点返回。我发现如果我在快速配置cookie上的安全属性,它不会生效。 ''' app.enable('trust proxy'); app.use(会话({ 店:缓存, 秘密:config.session.secret, 饼干:{// 安全:真, //代理:真实, MAXAGE:config.session.maxAge } })); ''' 这是我在表达中设置的。 –
听起来像是一个单独的问题,也许你没有在node/express中设置这个安全cookie。因此会为此提出一个单独的问题。 –
会做谢谢。 –