node.js - 无法从带有 SSL 的域通过 POST 来表达服务器

标签 node.js express ssl nginx

我通过 LetsEncrypt 为我的域拥有一个现有的 ssl 证书。在与我的站点相同的服务器上,我有一个在端口 :8080 运行的快速应用程序。在将 SSL 添加到域之前,我能够向 http://domainname:8080.com 发出请求.现在发出请求的域是 https,它显然不能发出这些请求。如果我改为向 https://domainname:8080.com 发出请求,我没有收到任何响应,而是收到超时错误。

我试图在服务器上手动执行 curl -X -POST,它返回 (35) gnutls_handshake() failed: The TLS connection was non-properly terminated. 如果我运行相同的命令指向它正确执行的非 https 域。我还尝试为 express 安装 https 模块并将其指向我用于域的相同证书。尽管我尽了一切努力,但我无法让它发挥作用。我在这里错过了什么?我想向为我的应用提供服务的同一服务器上的端口发出请求。

最佳答案

在我的 nginx 站点配置中设置一个反向代理,从域到运行 express 服务器的 ip 地址。这解决了我遇到的所有问题。

关于node.js - 无法从带有 SSL 的域通过 POST 来表达服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42911432/

相关文章:

node.js - 获取谷歌 token 以使用 Cognito 访问谷歌服务以获得 Alexa 技能

javascript - 在 View 中使用时,保存在 app.locals 中的值数组会丢失其数组格式。这里发生了什么?

node.js - 如何使用 Oauth 请求提交和处理请求参数?

python - 连接到 github 时请求包引发 SSLError

Android Http Post 正在下载错误的 SSL 证书

css - NPM 多个目录下的多个SCSS文件合并成一个css文件

javascript - Promise.resolve 是异步函数吗?

reactjs - express 服务器中出现意外的 token react 路由器

javascript - 将参数函数Node.js从一个js传递到另一个

向服务器发送请求时出现 javax.net.ssl.SSLHandshakeException : java. security.cert.CertPathValidatorException