Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 否';访问控制允许原点';自SSL_Node.js_Ssl_Socket.io_Cross Domain - Fatal编程技术网

Node.js 否';访问控制允许原点';自SSL

Node.js 否';访问控制允许原点';自SSL,node.js,ssl,socket.io,cross-domain,Node.js,Ssl,Socket.io,Cross Domain,我最近转而使用带有SSL证书的安全请求。由于我切换了,我得到了以下错误 加载失败 : 请求的服务器上不存在“Access Control Allow Origin”标头 资源。因此,不允许使用源“” 通道响应的HTTP状态代码为521 我曾尝试将socket.io的来源设置为我们网站的域,但没有解决任何问题。我不确定这是否与其他内容有关,但当我使用正常的http请求时,它工作正常。少了什么?(cors?我只是创建密钥和证书文件,并包括以下内容 var app = require('../

我最近转而使用带有SSL证书的安全请求。由于我切换了,我得到了以下错误

加载失败 : 请求的服务器上不存在“Access Control Allow Origin”标头 资源。因此,不允许使用源“” 通道响应的HTTP状态代码为521


我曾尝试将
socket.io
的来源设置为我们网站的域,但没有解决任何问题。我不确定这是否与其他内容有关,但当我使用正常的
http
请求时,它工作正常。少了什么?(cors?

我只是创建密钥和证书文件,并包括以下内容

    var app = require('../app');
    var server = https.createServer({
        key: fs.readFileSync('/var/www/html/driver_app/key.key', 'utf8'),
        cert: fs.readFileSync('/var/www/html/driver_app/cert.crt', 'utf8'),
         requestCert: false,
        rejectUnauthorized: false
    },app); 
    var ios = require('socket.io')(server);
    require("../socket/socket")(ios);

    // socket.js is 
  module.exports = function(io){

    io.use(require('socketio-wildcard')());

    io.use(require('./middleware'));

    io.on('connection', (socket)=>{
      console.log("connection done")
      socket.on("error", (err)=>{
            console.error("server err", err);
       })
    })

    }

其中app是我的express app,socket/socket.js是我的socket.io app。这对我来说很好

使端口匹配或使用CORS。响应的HTTP状态代码为521=“Web服务器已关闭:源服务器已拒绝来自Cloudflare的连接。”根据和“此状态代码未在任何RFC中指定,但CloudFlare的反向代理使用它来表示源web服务器拒绝连接”根据或更长的时间,CloudFlare提供了详细解释,您看到CORS错误的唯一原因是大多数web服务器默认情况下不会向5xx(或4xx)添加额外的头错误响应。因此,当web服务器发送521响应时,您的CORS配置将被忽略。@sideshowbarker我不确定如何解决此问题。请确保请求不服务于错误。