gpt4 book ai didi

reactjs - 如何使用 Azure 应用服务设置服务器以接受 POST 请求

转载 作者:行者123 更新时间:2023-12-03 04:16:16 26 4
gpt4 key购买 nike

我似乎无法让 Azure 应用服务接受除 GET 之外的任何请求。我知道 Express 应用程序正在运行,因为我默认将 '/' URL 指向 server/index.js (我的 Express 服务器),并且可以更改行为(我重定向到另一个路径)。但是当我尝试访问服务器上存在的另一个端点时,它给了我一个 404。

我的配置已设置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" />
<iisnode watchedFiles="web.config;*.js" />
<handlers>
<add name="iisnode" path="server/index.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server/index.js\/debug[\/]?" />
</rule>
<rule name="app" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="iisnode.+" negate="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="server/index.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Express服务器代码:

const express = require('express');

const fs = require('fs');
const path = require('path');
const axios = require('axios');
const bodyParser = require('body-parser');

const app = express();

//initialize express
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.use(express.static(`${__dirname}./../dist`));

app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, './../dist/index.html'), (err) => {
if (err) {
res.status(500).send(err)
}
})
});

app.post('/login', (req, res) => {

/* Login logic here*/
});

/* * Server * */
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Listening to port ${port}`));

最佳答案

事实证明,这是一个非常模糊的安全问题。更新 web.config 以包含以下内容:

<security>
<requestFiltering>
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="true" />
</verbs>
</requestFiltering>
</security>

https://learn.microsoft.com/en-us/iis/manage/configuring-security/use-request-filtering

关于reactjs - 如何使用 Azure 应用服务设置服务器以接受 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com