You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过OpenVPN端口转发访问AWS EC2上Node.js服务时遇请求头字符错误

Node.js服务通过OpenVPN端口转发访问时出现Header字符无效错误

我在AWS EC2实例上部署了Node.js服务,使用公网IP从本地访问一切正常,但通过OpenVPN(UDP)端口转发到localhost访问该实例时,抛出以下错误:

{"message":"请求头内容[\"Access-Control-Allow-Origin\"]包含无效字符","error":{"code":"ERR_INVALID_CHAR"}}

我已检查响应头,具体内容如下:

Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 119
Content-Type: application/json; charset=utf-8
Date: Wed, 13 Dec 2023 11:36:18 GMT
ETag: W/"77-cTRgoYzDiwRyCA8tFrP3F9sMLIg"
Server: nginx/1.22.1
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Host: 127.0.0.1:3001
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0

我的Node.js服务中设置响应头的代码如下:

app.use(function (req, res, next) {
  res.header("Access-Control-Allow-Origin", "*"); // 后续可修改为实际请求来源域名
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
});

排查与解决思路

  • 清理隐藏字符:直接重新编写设置Access-Control-Allow-Origin的代码行,避免复制粘贴引入的不可见空白字符(如全角空格、制表符),确保值就是纯*。
  • 检查Nginx配置冲突:响应头显示由Nginx提供服务,需确认Nginx配置中是否也添加了Access-Control-Allow-Origin头。如果有,要么删除Node.js中的对应设置,要么统一两者的CORS规则,避免重复设置导致的异常。
  • 切换OpenVPN协议:UDP转发可能存在数据包篡改风险,尝试改用TCP协议的OpenVPN连接测试,同时检查端口转发规则是否正确,确保请求头未被中间代理修改。
  • 升级Node.js版本:部分旧版Node.js对HTTP头字符校验过于严格,升级到v18及以上的稳定版本,可能消除该字符无效错误。

内容的提问来源于stack exchange,提问作者Md. Kamrul Hassan Rasel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:40:26