在Windows服务器(IIS)上运行Node.js和Next.js应用程序

7qhs6swi  于 2023-08-04  发布在  Windows
关注(0)|答案(1)|浏览(213)

我有一个node.js应用程序(仅适用于端口5000上的API)和一个next.js应用程序(适用于端口3000上的用户),我必须在windows服务器上运行它,我尝试了IIS的反向代理,我可以运行它,但会话和cookie有问题,我相信IIS不会将cookie和会话正确传递给用户或服务器,我得到了一个奇怪的UI,如显示登录页面,但也显示 Jmeter 板,或注销,但仍然导航和使用应用程序,我尝试这些应用程序的配置:
API(node.js)web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="api" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://localhost:5000/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

字符串
网站(next.js)web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="web" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://localhost:3000/{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


这是IIS站点:

的数据

a0zr77ik

a0zr77ik1#

我相信这个问题与IIS内存兑现持续时间有关,所以我将其从60更改为1,并修复了这个问题,但我仍然相信可以有更好的解决方案,但这就是我现在所做的。
以下是实现此功能的步骤:
1.在IIS中选择服务器(可能以您的计算机/服务器名称命名)。
1.转到Application Request Routing Cache页面。
1.通过右侧面板转到Server Proxy Settings
1.从Cache Sttings更改Memory cache duration (seconds)1

相关问题