index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. var express = require('express');
  2. var fs = require('fs');
  3. var app = express();
  4. const mime = require('mime-types');
  5. var port = process.env.PORT || 11111;
  6. var host = process.env.HOST || 'localhost';
  7. var router = require('./routes/router')
  8. var cors = require('cors');
  9. var path = require('path');
  10. app.use(cors());
  11. // 配置静态文件目录
  12. const staticDir = path.join(__dirname, 'public');
  13. // 设置静态文件中间件
  14. app.use(express.static(staticDir, {
  15. // 缓存控制(1天)
  16. maxAge: '1d',
  17. // 设置索引文件
  18. index: ['index.html', 'index.htm'],
  19. // 自定义文件类型处理
  20. setHeaders: (res, filePath) => {
  21. const contentType = mime.contentType(path.extname(filePath)) || 'application/octet-stream';
  22. res.setHeader('Content-Type', contentType);
  23. // 为特定文件类型添加额外头信息
  24. if (filePath.endsWith('.css')) {
  25. res.setHeader('X-Content-Type-Options', 'nosniff');
  26. }
  27. }
  28. }));
  29. app.use(express.json());
  30. app.use(express.urlencoded({ extended: false }));
  31. var http = require('http');
  32. const httpsOption = {
  33. // key : fs.readFileSync("/etc/letsencrypt/live/beta.api.cocorobo.cn/privkey.pem"),
  34. // cert: fs.readFileSync("/etc/letsencrypt/live/beta.api.cocorobo.cn/fullchain.pem")
  35. }
  36. var httpsserver = http.createServer(httpsOption, app);
  37. app.use('/api', router);
  38. httpsserver.listen(port);
  39. console.log("Server running at https://" + host + ":" + port + "/");