6 javascript node.js cors express
我有一个站点 \xe2\x80\x94 https://example.com\xe2\x80\x94,它调用 API \xe2\x80\x94 https://api.example.com\xe2\x80\x94。该 API 是用 Express 编写的,它使用CORS 包来允许来自站点的请求:
app.use(\n cors({\n credentials: true,\n origin: "https://example.com",\n })\n);\nRun Code Online (Sandbox Code Playgroud)\n\n该网站可以通过https://example.com或 通过 访问https://www.example.com。如您所见,在 API 中,我明确允许来自前一个地址的请求,但不允许来自后一个地址的请求。因此,如果任何人通过后一个地址访问它,则对 API 的请求将被拒绝。
解决这个问题的通常方法是什么?明确允许https://example.com和https://www.example.com? 或者也许有一种方法可以忽略子域www?
提前致谢!
\n\n--
\n\n编辑:
\n\n按照建议,我https://www.example.com明确添加到了 cors 配置中
app.use(\n cors({\n credentials: true,\n origin: ["https://example.com", "https://www.example.com"],\n })\n);\nRun Code Online (Sandbox Code Playgroud)\n\n但这没有用。.htaccess作为解决方法,我刚刚所做的是将文件 \xe2\x80\x94Apache server\xe2\x80\x94中的重写条件从www域重定向到非www域。
但现在的问题是:为什么即使允许也www.example.com不起作用?这有什么共同的原因吗?
通常的方法是避免两个不同来源的网站具有相同的内容。
配置www.example.com以发出 HTTP 301 重定向到example.com.
明确允许
https://example.com和https://www.example.com?
那也行。origin可以传递一个数组。
或者也许有办法忽略子域 www?
origin也可以传递正则表达式。
| 归档时间: |
|
| 查看次数: |
8980 次 |
| 最近记录: |