var express = require('express'); var fs = require('fs'); var app = express(); const mime = require('mime-types'); var port = process.env.PORT || 11111; var host = process.env.HOST || 'localhost'; var router = require('./routes/router') var cors = require('cors'); var path = require('path'); app.use(cors()); // 配置静态文件目录 const staticDir = path.join(__dirname, 'public'); // 设置静态文件中间件 app.use(express.static(staticDir, { // 缓存控制(1天) maxAge: '1d', // 设置索引文件 index: ['index.html', 'index.htm'], // 自定义文件类型处理 setHeaders: (res, filePath) => { const contentType = mime.contentType(path.extname(filePath)) || 'application/octet-stream'; res.setHeader('Content-Type', contentType); // 为特定文件类型添加额外头信息 if (filePath.endsWith('.css')) { res.setHeader('X-Content-Type-Options', 'nosniff'); } } })); app.use(express.json()); app.use(express.urlencoded({ extended: false })); var http = require('http'); const httpsOption = { // key : fs.readFileSync("/etc/letsencrypt/live/beta.api.cocorobo.cn/privkey.pem"), // cert: fs.readFileSync("/etc/letsencrypt/live/beta.api.cocorobo.cn/fullchain.pem") } var httpsserver = http.createServer(httpsOption, app); app.use('/api', router); httpsserver.listen(port); console.log("Server running at https://" + host + ":" + port + "/");