GET:ERR_SSL_PROTOCOL_ERROR nginx+;vue.js

GET:ERR_SSL_PROTOCOL_ERROR nginx+;vue.js,vue.js,ssl,nginx,webpack,ubuntu-18.04,Vue.js,Ssl,Nginx,Webpack,Ubuntu 18.04,在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 如果在/etc/nginx/conf/default.conf(Ubun

在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

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

我设置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;
导致502坏网关:

所以。。。我现在的问题是:如何让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://'。在第一行中,您使用
https://
访问相同的IP:端口,这会导致协议错误。虽然对此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的默认端口)上的证书,我们一无所知,但很可能此证书不包含作为有效IP SAN的
192.168.1.7
。但这是使用URL
https://192.168.1.7/

在nginx配置中,您可以访问
192.168.1.7:8081
as
http://'。在第一行中,您使用
https://
访问相同的IP:端口,这会导致协议错误。虽然对此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的默认端口)上的证书,我们一无所知,但很可能此证书不包含作为有效IP SAN的
192.168.1.7
。但这是使用URL
https://192.168.1.7/

感谢您的指点,它确实是位置/位置之间的不匹配{proxy_pass;in/etc/nginx/conf.d/default.conf和我在浏览器中使用https的事实。我是否需要将in/etc/nginx/conf.d/default.conf修改为?我用update 1更新了我的帖子。我现在的问题是:如何让nginx服务器用TLS回答?关于证书,我实际上不记得它是如何生成的,如果是,可能的话不,包含192.168.1.7。续订证书的最佳方式是什么?@user2315094:这是错误的修复。您损坏了工作部分,并使损坏的部分保持损坏状态。我将我的初始问题与完整的/etc/nginx/conf.d/default.conf文件集成在一起。我认为使用nginx配置时,服务器应该使用TLS进行响应。但是,似乎情况并非如此……那么……如何让服务器使用TLS进行应答?以及如何正确续订证书?@user2315094:您位于端口443的服务器已使用TLS进行应答,但证书与URL的域不匹配。至于网页包部分,请参阅并注意,您没有提供证书,只有密钥和证书ca.感谢您的指点,这确实是位置/位置之间的不匹配{proxy_pass;in/etc/nginx/conf.d/default.conf和我在浏览器中使用https的事实。我是否需要将in/etc/nginx/conf.d/default.conf修改为?我用update 1更新了我的帖子。我现在的问题是:如何让nginx服务器用TLS回答?关于证书,我实际上不记得它是如何生成的,如果是,可能的话不,包含192.168.1.7。续订证书的最佳方式是什么?@user2315094:这是错误的修复。您损坏了工作部分,并使损坏的部分保持损坏状态。我将我的初始问题与完整的/etc/nginx/conf.d/default.conf文件集成在一起。我认为使用nginx配置时,服务器应该使用TLS进行响应。但是,似乎情况并非如此……那么……如何让服务器使用TLS进行应答?以及如何正确续订证书?@user2315094:您位于端口443的服务器已使用TLS进行应答,但证书与URL的域不匹配。至于网页包部分,请参阅并注意,您没有提供证书,只有密钥和证书约。