如何解决IIS+iisnode部署React SSR应用的500内部服务器错误
React SSR应用通过iisnode部署到IIS时出现500内部服务器错误
本地运行React SSR应用一切正常,但部署到IIS服务器后访问站点出现500内部服务器错误。以下是相关代码片段:
package.json
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "build-server": "webpack --config webpack.server.js", "test": "react-scripts test", "eject": "react-scripts eject", "ssr": "npm run build && npm run build-server && node build-server/main.js" },
webpack.server.js
const path = require('path'); const nodeExternals = require('webpack-node-externals'); module.exports = { entry: './server/server.js', // Ensure this path is correct target: 'node', externals: [nodeExternals()], output: { path: path.resolve(__dirname, 'build-server'), filename: 'main.js' }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: [ '@babel/preset-env', '@babel/preset-react' ] } } }, { test: /\.css$/, use: [ 'style-loader', 'css-loader' ] } ] }, resolve: { extensions: ['.js', '.jsx'] } };
web.config
<configuration> <system.webServer> <handlers> <add name="iisnode" path="build-server/main.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="DynamicContent"> <match url="/*" /> <action type="Rewrite" url="build-server/main.js" /> </rule> </rules> </rewrite> <iisnode loggingEnabled="true"/> </system.webServer> </configuration>
相关截图
部署截图:

访问报错截图:

内容的提问来源于stack exchange,提问作者Amir Dora.
相关产品推荐
相关产品推荐

