如何在create-react-app中设置HSTS标头

时间:2018-11-13 21:46:00

标签: reactjs security http-headers create-react-app react-helmet

我有一个正在构建的应用程序,我以create-react-app开始。我正在尝试通过添加HSTS标头或类似内容来使其更加安全,但是当您尚未构建自己的自定义服务器时,似乎无法在线找到任何说明该方法的方法。大多数答案是使用nginx或apache。我的后端内置在node.js express中,并使用helmet.js正常运行,但是我的前端是完全独立的,我想我的后端安全并不能真正解决问题。我看到了react-helmet软件包,但是不确定是否是我要的软件包。您可以使用该程序包设置此类http标头吗?

1 个答案:

答案 0 :(得分:0)

不用担心开发模式构建中的安全性。您无法控制开发中的服务器发送给浏览器的hsts和其他http标头。当托管用于生产时,您应该担心。当您将其构建用于生产并从快递服务器提供服务时,请添加它。

在快递服务器中,您应该可以使用hsts中间人。因此,如果您只想要hsts,请执行以下操作:

运行npm install hsts

,然后将其添加到您的快递服务器中。

const hsts = require('hsts')

app.use(hsts({
  maxAge: 15552000  // 180 days in seconds
}))

或者,您可以使用helmet(包括其他几个中间人)来提高安全性。

npm install --save helmet

var helmet = require('helmet')
app.use(helmet())

请参见Best Security Practices on expressjs.com