GET:ERR_SSL_PROTOCOL_ERROR nginx+;vue.js
在Google Chrome的控制台日志中,我发现以下错误: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
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
ashttp://'。在第一行中,您使用
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
。但这是使用URLhttps://192.168.1.7/
在nginx配置中,您可以访问192.168.1.7:8081
ashttp://'。在第一行中,您使用
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
。但这是使用URLhttps://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的域不匹配。至于网页包部分,请参阅并注意,您没有提供证书,只有密钥和证书约。