在IIS上部署NodeJS+React应用遇HTTP 200错误求助
在虚拟机IIS部署Node.js+React应用遭遇HTTP 200错误,求助解决方法
我尝试在虚拟机的IIS上部署NodeJS和React Web应用,但始终无法成功。我已尝试网上能找到的所有解决方案,仍遭遇HTTP 200错误(错误截图:HTTP 200错误截图)。
以下是运行在3000端口的server.js文件:
import cors from 'cors'; import express from "express"; import sql from "mssql"; import { PORT } from './config.js'; import inventoryRouter from './routes/inventoryRoute.js'; import transferRouter from './routes/transferRoute.js'; import orderRouter from './routes/orderRoute.js'; import path from 'path'; import { fileURLToPath } from 'url'; const sqlConfig = { user: "testuser", password: '1234', // server: 'DESKTOP-VN9PRPU\\SQLEXPRESS', // or 'localhost' for a local instance server: 'YIHANG\\SQLEXPRESS', // server: 'MDPADMIN\\SQLEXPRESS', database: 'inventory', driver: 'msnodesqlv8', options: { // encrypt: false, // trustServerCertificate: true, trustedConnection: false, encrypt: false } }; const app = express(); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(express.static(path.join(__dirname, '../frontend/dist'))); let pool; async function connectDB() { try { pool = await new sql.connect(sqlConfig); app.listen(PORT, () => { //PORT is 3000 console.log("app is running le"); }) console.log("connected le"); } catch (err) { console.error('error is ', err); } } app.use((req, res, next) => { req.pool = pool; next(); }) app.use('/inventory', inventoryRouter); app.use('/transfers', transferRouter); app.use('/orders', orderRouter); app.use('/images', express.static('images')) connectDB();
另外附上我的web.config文件截图:web.config截图。
更新:我已尝试以下解决方案但均无效:
- 下载iisnode和rewrite模块
- 为IIS_IUSRS、IUSR及应用池实例赋予完全权限
- 在iisnode的web.config中设置devErrosEnabled和LoggingEnabled为false
- 将应用目录直接移至C盘
恳请各位提供解决建议!
内容的提问来源于stack exchange,提问作者Yi Hang Ooi
相关产品推荐
相关产品推荐

