获取:ERR_SSL_PROTOCOL_ERROR nginx + vue.js

2023-12-01

在 Google Chrome 的控制台日志中,我收到以下错误:

GET https://192.168.1.7:8081/sockjs-node/info?t=1579798623564 net::ERR_SSL_PROTOCOL_ERROR
GET https://192.168.1.7/sockjs-node/info?t=1579798623562 net::ERR_CERT_COMMON_NAME_INVALID

enter image description here

如果在/etc/nginx/conf/default.conf(Ubuntu 18.04.03服务器版)中:

server {
    listen 443 ssl http2 default_server;
    server_name example.com www.example.com
    ssl_certificate /etc/ssl/certs/chained.pem;
    ssl_certificate_key /etc/ssl/private/domain.key;
    ssl_certificate /etc/ssl/certs/chained.pem;
    ssl_certificate_key /etc/ssl/private/domain.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:50m;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

    add_header Strict-Transport-Security "max-age=31536000";
    location / {
        proxy_pass http://192.168.1.7:8081;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
    add_header Strict-Transport-Security "max-age=31536000";
    location / {
        proxy_pass http://192.168.1.7:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

我设置 vue.config.js 如下:

module.exports = {
  productionSourceMap: false,
  pluginOptions: {
    i18n: {
      enableInSFC: true
    }
  },
  devServer: {
    host: '192.168.1.7',
    hot: true,
    disableHostCheck: true
  }
}

并定义 webpack.config.js 如下:

var path = require('path');
var fs = require('fs');

module.exports = {
    https: {
        key: fs.readFileSync('/etc/ssl/private/domain.key'),
        ca: fs.readFileSync('/etc/ssl/certs/chained.pem')
    }
};

更新1)

修改/etc/nginx/conf.d/default.conf http -> https:

location / {
    proxy_pass https://192.168.1.7:8081;

leads to 502 Bad Gateway : enter image description here

所以...我现在的问题是:如何让 nginx 服务器使用 TLS 进行应答?

我做错了什么?如何解决问题?


GET https://192.168.1.7:8081/sockjs-node/info?t=1579798623564 net::ERR_SSL_PROTOCOL_ERROR
 ...
proxy_pass http://192.168.1.7:8081;

在您访问的 nginx 配置中192.168.1.7:8081 as http://。在第一行中,您访问相同的 IP:端口https://这会导致协议错误。虽然对该 IP:端口上的服务器一无所知,但很可能只是http://这可以解释协议错误:尝试对不使用 TLS 应答的服务器进行 TLS 握手。

GET https://192.168.1.7/sockjs-node/info?t=1579798623562 net::ERR_CERT_COMMON_NAME_INVALID

关于证书一无所知192.168.1.7:443(443 是 https 的默认端口)但该证书很可能不包含192.168.1.7作为有效的 IP SAN。但这是使用 URL 时证书验证的预期值https://192.168.1.7/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取:ERR_SSL_PROTOCOL_ERROR nginx + vue.js 的相关文章

随机推荐

  • 在 Groovy 中从 String 对象动态创建闭包

    我想使用 Grails GORM 中的 Criteria API 创建一个查询 查询必须是这样的 MyEntity createCriteria list assoc parent eq code val 我需要的是从 String 对象动
  • XmlNode Innertext 中的回车符

    我正在使用 System Xml 来解析我生成的 xml 文件 节点的某些内部文本包含回车符 如下所示 r n r n 这是因为我在解析它之前使用 Visual Studio 对其进行了格式化 有没有办法去掉格式化工具添加的回车符 Than
  • 使用 jquery 禁用文本字段中字母的复制粘贴

    在我的项目中 我有只接受数字值的文本字段 但是当我使用 ctl c 复制字母并使用 ctl v 粘贴时 它将允许文本字段中的字母 所以我使用以下命令禁用复制和粘贴代码 input bind copy paste function e e p
  • xdebug 不激活断点

    我正在使用 Netbeans 来完成我的项目 codeigniter 并且我的 xdebug 在 php ini 中配置 以下是设置 zend extension C xampp php ext php xdebug dll xdebug
  • 使用 mongoengine 将文件上传到 DEFAULT_FILE_STORAGE 而不是 GridFs

    我希望能够在亚马逊 s3 中存储文件 mongoengine中的FileField似乎是用gridfs硬编码的 我可以做什么来实现这个目标 是否有一个自定义文件字段 其行为类似于常规的 django FileField 我还没有看到与 Mo
  • 使用 EntityDataSource 过滤数据

    我使用 EF 4 C 和 MS 会员提供程序 我有一个带有 DataSource 和 EntityDataSource Web 控件的 GridView 我想使用 EntityDataSource 过滤数据 过滤器显示适用于当前登录的用户
  • 循环遍历集合 -Laravel

    I was trying to loop through a collection based on the key 在我看来 我在这里试图完成的是根据字母表对每家公司进行分组 我该如何循环这个 results companies gt s
  • MProtect Errno 12 (ENOMEM) 的说明

    我正在使用 Monotouch 编写 iPhone 应用程序 最近该应用程序开始崩溃 并指出 Mprotect failed at 0x863a000 length 8192 with errno 12 接下来是相当长的堆栈跟踪和 Spri
  • 为什么C++中没有放置删除表达式?

    为什么C 没有直接对应于new的placementdelete 即调用析构函数并调用适当的placementdelete运算符 例如 MyType p new arena MyType current technique p gt MyTy
  • DRF将ArrayField序列化为字符串

    我有一个带有 ArrayField 的模型tags我需要它来回序列化为以逗号分隔的值字符串 模型 py from django contrib postgres fields import ArrayField class Snippet
  • 有没有一种 LINQ 方法可以从键/值对列表转到字典?

    有没有一种 LINQ 方法可以做到这一点 var array new string BASE TABLE Table VIEW View var list array ToList var dictionary new Dictionary
  • 如何在 Excel 中使用 SQL 连接

    我看到大约一年前更新的一个问题 它让我在找到我需要的解决方案方面走了很长的路 但导致的问题多于答案 首先我要说的是 我不是 SQL DB2 SQLServer Oracle 的 新手 但对于在 Excel 中使用 SQL 来说 我是一个相对
  • 为什么 JS 中 isNaN(null) == false ?

    JS 中的这段代码给了我一个弹出窗口 显示 我认为 null 是一个数字 我觉得这有点令人不安 我缺少什么 if isNaN null alert null is not a number else alert i think null i
  • Spark MLLib SVM 输出的分数意味着什么?

    我不明白 Spark MLLib 算法的 SVM 分类器的输出 我想将分数转换为概率 以便获得属于某个类的数据点的概率 在该类上训练支持向量机 又称多类问题 另请参阅此线程 目前还不清楚这个分数意味着什么 是到超平面的距离吗 我如何从中得到
  • SQL中按加权评级排序?

    我有一个事件表和另一个收视率表 每个事件可以有多个评级 我需要能够通过评级从数据库中提取前三名的事件 但是当然 评级需要平均 因此具有 1 个 5 星评级的事件不会比具有 4 个平均评级和 100 个评级的事件更高 谁能指导我如何在 SQL
  • 选择两个特定元素之间的所有元素

    我需要选择全部a标签来自 a class self to a class next 这是例子 span class pages a class prev nbsp a a 13 a a 14 a a 15 a a 16 a a class
  • 抑制或防止重复的 inotifywait 事件?

    现在inotifywait正在监视 git 服务器文件夹 End 它仅在特定文件修改时发出 问题是 当更改被推送到 git 服务器时 inotifywait触发几次 我不知道为什么 那么我该怎么做下一步 防止inotifywait避免重复
  • 使用字符串作为函数的参数

    我正在尝试使用一个以字符串作为参数的函数 我遇到了一些错误消息 首先 它表示 string i 不是数组 指针或向量 尽管 string 是字符数组 其次 它说我正在进行指针到整数的转换 这是我的代码 include
  • 从客户端 MVC4 检测到潜在危险的 Request.Form 值[重复]

    这个问题在这里已经有答案了 我在插入带有 如何通过插入带有 提前致谢 你可以尝试设置属性requestValidationMode 2 0 on the
  • 获取:ERR_SSL_PROTOCOL_ERROR nginx + vue.js

    在 Google Chrome 的控制台日志中 我收到以下错误 GET https 192 168 1 7 8081 sockjs node info t 1579798623564 net ERR SSL PROTOCOL ERROR G