node.js - 使用 Ajax 通过 https 使用自签名证书访问本地主机

标签 node.js ajax ssl localhost

我正在开发一个 NodeJS 应用程序,该应用程序在 https://localhost:port 上运行服务器并使用自签名证书(因为没有供应商为本地主机提供证书)。我正在从我的网站使用 AJAX 调用来访问本地主机并将数据发送到 NodeJs 应用程序。由于预期的 INSECURE_CONTENT,我的电话被阻止了。我想知道我们是否有任何解决方法?

最佳答案

(请参阅下面的更新)

解决方法是在浏览器级别启用它。这也应该允许 AJAX 调用。

对于 Chrome

  1. 在 chrome 中转到此 url ( chrome://flags/#allow-insecure-localhost )
  2. enter image description here
  3. 点击启用。
  4. 然后您必须重新启动您的 chrome 浏览器,这样更改可能会影响。

火狐浏览器

  1. 在 firefox 中转到您的本地主机。它应该向您显示警告。
  2. 点击高级
  3. 点击添加异常(exception)...
  4. 会出现新的弹出窗口,点击获取证书
  5. 验证复选框显示“永久存储此异常”
  6. 点击“确认安全异常(exception)”。请参阅下图。

    • enter image description here
    • enter image description here

更新:

根据 op 的评论,更新后的答案如下:

( Reply to this comment ) 这个简单的 hack 是在您的 Node 应用程序中有一个 proxy 路由。创建类似 http://localhost/proxy?yourwebsites_api/getData 的路由。在 Node 服务器中,代理路由将从您的网址获取 GET 参数并访问您的网站服务器。并将返回相同的响应。就像您在 c# 中使用 HttpWebRequest 所做的那样或 HttpClient或者在 PHP 中使用 curl .

关于node.js - 使用 Ajax 通过 https 使用自签名证书访问本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949507/

相关文章:

node.js - Firestore 使用 Firebase 函数删除帐户删除时的所有用户数据

security - 如何为 Artifactory 4.x 支持 TLS

ios - iOS中 “CFNetwork SSLHandshake failed(-9807)”的处理方法

node.js - 连接到 MongoDB 中的多个集合

javascript - 在 express.js 中发布表单数据后如何防止重定向?

node.js - 如何通过 socket.io 对象访问 express.session.MemoryStore?

swift - 在 Swift 4 中尝试 POST 请求给出 "TIC SSL Trust Error"

php - ajax:responsetext 在本地返回我的整个 php 代码

javascript - 尽管出现错误,数据仍存储在数据库中

javascript - 使用onclick事件更改对象html标签的数据