zxCoder
V2EX  ›  问与答

有用到 vue+socket.io(node.js)+nginx(ssl)做项目的大哥吗,请教一下

  •  
  •   zxCoder · Aug 28, 2021 · 833 views
    This topic created in 1759 days ago, the information mentioned may be changed or developed.

    客户端 vue 是用的"socket.io-client": "^4.1.3",连接代码是

     let socket=io("https://aa.bb.cc.dd");
    

    服务端 node.js 代码是

        const server = https.createServer({
                key: fs.readFileSync('/etc/nginx/ssl/private.key'),
                cert: fs.readFileSync('/etc/nginx/ssl/certificate.crt'),
            });
        const io = require("socket.io")(server,{
            cors: {
                origin: "*",
                methods: ["GET", "POST","OPTION"],
            }
        });
        io.listen(3001);
    

    本地运行正常,放服务器后启动,然后配置 nginx 代理和 ssl,配置是

    server {
    	listen 80 default_server;
    	listen [::]:80 default_server;
    	
    	listen 443 ssl default_server;
    	listen [::]:443 ssl default_server;
    
    	ssl on;
    	ssl_certificate /etc/nginx/ssl/certificate.crt;
    	ssl_certificate_key /etc/nginx/ssl/private.key;
    	ssl_session_timeout 5m;
    	root /var/www/html;
    	index index.html index.htm index.nginx-debian.html;
    
    	server_name _;
    
    	location / {
    		try_files $uri $uri/ =404;
    
    		# 按文档加的
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          	proxy_set_header Host $host;
          	proxy_pass https://localhost:3001;
          	proxy_http_version 1.1;
          	proxy_set_header Upgrade $http_upgrade;
          	proxy_set_header Connection "upgrade";
    	}
    }
    

    报错是

    Access to XMLHttpRequest at 'https://aa.bb.cc.dd/socket.io/?EIO=4&transport=polling&t=NkBhswM' from origin 'https://前端域名' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
    

    一直报跨域的问题,StackOverflow 上查了很多相关的问题,试了都没能解决。。。

    hly9469
        1
    hly9469  
       Aug 28, 2021 via iPhone
    nodejs 服务用 http 起,https 全放在 nginx 上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5403 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 05:58 · PVG 13:58 · LAX 22:58 · JFK 01:58
    ♥ Do have faith in what you're doing.