Node.js 请帮助我nestjs套接字为什么出错?

Node.js 请帮助我nestjs套接字为什么出错?,node.js,socket.io,nestjs,Node.js,Socket.io,Nestjs,因为这个问题,我彻夜未眠。我想我已经尽力了。我们的前端使用https,后端也使用https。目前,api运行良好,但聊天服务器仍在继续抛出ERR_SSL_PROTOCOL_错误 前端是使用我们的聊天室购物:3001/聊天插座。 这个问题似乎可以通过请求shop:3001/聊天来解决,但只会创建一个称为混合内容的新错误 -后端nginx(/etc/nginx/sites available/default)- -后端main.ts- import { ValidationPipe } from '

因为这个问题,我彻夜未眠。我想我已经尽力了。我们的前端使用https,后端也使用https。目前,api运行良好,但聊天服务器仍在继续抛出ERR_SSL_PROTOCOL_错误

前端是使用我们的聊天室购物:3001/聊天插座。 这个问题似乎可以通过请求shop:3001/聊天来解决,但只会创建一个称为混合内容的新错误

-后端nginx(/etc/nginx/sites available/default)-

-后端main.ts-

import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from 'fs';
import { NestExpressApplication } from '@nestjs/platform-express';
import { join } from 'path';

async function bootstrap() {
    const httpsOptions = {
        key: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/privkey.pem',
            'utf8'
        ),
        cert: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/cert.pem',
            'utf8'
        ),
        ca: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/chain.pem',
            'utf8'
        )
    };
    const app = await NestFactory.create<NestExpressApplication>(AppModule, {
        cors: true,
        httpsOptions
    });

    app.useStaticAssets(join(__dirname, '..', 'public'));
    app.useGlobalPipes(
        new ValidationPipe({
            whitelist: true,
            forbidNonWhitelisted: true,
            transform: true
        })
    );
    await app.listen(3000);
}
bootstrap();


我解决了这个问题。我刚刚删除了WebSocket网关的端口号。完成此操作后,可以将端口3000与api一起使用。
import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from 'fs';
import { NestExpressApplication } from '@nestjs/platform-express';
import { join } from 'path';

async function bootstrap() {
    const httpsOptions = {
        key: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/privkey.pem',
            'utf8'
        ),
        cert: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/cert.pem',
            'utf8'
        ),
        ca: fs.readFileSync(
            '/etc/letsencrypt/live/dongmul.shop/chain.pem',
            'utf8'
        )
    };
    const app = await NestFactory.create<NestExpressApplication>(AppModule, {
        cors: true,
        httpsOptions
    });

    app.useStaticAssets(join(__dirname, '..', 'public'));
    app.useGlobalPipes(
        new ValidationPipe({
            whitelist: true,
            forbidNonWhitelisted: true,
            transform: true
        })
    );
    await app.listen(3000);
}
bootstrap();

import {
    SubscribeMessage,
    WebSocketGateway,
    OnGatewayInit,
    WebSocketServer,
    OnGatewayConnection,
    OnGatewayDisconnect
} from '@nestjs/websockets';
import { Socket, Server } from 'socket.io';
import { Logger } from '@nestjs/common';
import { ItemChatJoinDto } from './dto/itemChatJoin.dto';
import { ChatService } from './chat.service';
import { ItemChatDto } from './dto/itemChat.dto';
import * as jwt from 'jsonwebtoken';
import { AutoJoinDto } from './dto/autoJoin.dto';
import { KickUserDto } from './dto/kickUser.dto';
import { ExchangeDto } from './dto/exchange.dto';
import { MessageService } from 'src/message/message.service';
import * as fs from 'fs';

// **************************************
// * gateway: chat
// * programer: DongGyun Won
// **************************************
const httpsOptions = {
    key: fs.readFileSync(
        '/etc/letsencrypt/live/dongmul.shop/privkey.pem',
        'utf8'
    ),
    cert: fs.readFileSync(
        '/etc/letsencrypt/live/dongmul.shop/cert.pem',
        'utf8'
    ),
    ca: fs.readFileSync('/etc/letsencrypt/live/dongmul.shop/chain.pem', 'utf8')
};
@WebSocketGateway(3001, {
    namespace: '/chatting',
    secure: true,
    rejectUnauthorized: true,
    httpsOptions
})
export class ChatGateway { ... }