我有一个网络应用程序,它有 ISS-10
,运行于 wwww.mymindmapper.com
和听上 port:80
. 我有两个简单的页面(login.html
& register.html
). 下面是它的样子。https:/imgur.comagb9KAsj。
我的主要目的是想弄清楚如何创建一个Node JS服务器(port: 81
)与我在IIS上的webApp一起使用。port: 80
. 这是我的 app.js
文件。
//USE `nodemon scripts/server.js` on Terminal to refresh Node Server on File Save.
//USE 'pm2 start scripts/server.js' on Terminal to start pm2 for IIS ??????????????????
//Import Node JS modules
const express = require("express");
const morgan = require("morgan");
const mysql = require("mysql");
//Create a new instance of express()
const app = express();
//GET INFORMATION ABOUT THE SERVER REQUESTS (OS, Browser, time, Internal Errors, Status Codes)
app.use(morgan('short')); //'short', 'combined'
//Require files from folder public (THIS CONTAINS ALL .html files inc. login.html and register.html)
app.use(express.static('./public'));
//Listen on PORT:80 with a callback function
app.listen(81, ()=>{
console.log("Server running on port 81");
});
请注意,当我在Visual Studio代码上通过终端提出请求时 一切都能如期进行。可以从我的数据库中添加和删除数据。(我使用 XAMPP
- Apache监听 port:80
和mMySQL监听 port:3306
).
我曾在某处读到过,这可以通过使用一个 Reverse Proxy
在IIS上。然而,这似乎并不工作。另外,当反向代理配置完成后,当我刷新页面时,会出现以下错误。
兄弟,不需要设置出站规则,你上面写的设置就可以把IIS请求转发到node服务器了。 在Application Request Routing中,启用代理功能。 索引.js
var express=require('express');
var app=express();
app.get('/',function(req,res){
res.send('Hello World');
})
app.listen(3000,function(){
console.log("Example app listening on port 3000!");
})
我的IIS站点绑定。 结果。 添加逆向代理规则后,会生成一个 webconfig
文件,内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:3000/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
此外,如果您在网站上创建了一个服务器群,那么您可以在 server farms
请将其删除或添加本地IP作为默认服务器,否则会出现无法连接服务器的错误。否则,会出现无法连接服务器的错误。如果问题仍然存在,请随时告诉我。