[英]How to run an application in codesandbox with different subfolder for backend and frontend
[英]How to run an Express application in a subfolder/subpath
所以,我有一個非常簡單的 Express.js 應用程序。 我的入口點server.js
復制如下。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.status(200).send({ "message": "Welcome to the application. Express JS is outputting this JSON. " });
});
app.get('/all', (req, res) => {
res.status(200).send({ "message": "All the things. " });
});
app.listen(3000, () => {
console.log("Server is listening on port 3000");
});
當我使用命令node server.js
運行該程序時,它工作正常,我可以在http://localhost:3000
訪問該應用程序。 同樣,當我將它部署到 LAN 服務器時,我可以訪問它的 IP 並訪問像http://192.168.100.105:3000
這樣的應用程序。
現在,如果我希望應用程序在http://192.168.100.105/app1
運行,該怎么辦? 一種方法是將 Express 應用程序應用到在端口80
上運行並重新配置所有路由以使用app1
作為新的基礎 URL,但我沒有特權(或不能)覆蓋在默認值上運行的應用程序港口。 那么,有沒有其他方法可以在不在端口80
上運行的情況下實現相同的目標?
有兩種方法:
后者的典型方法是使用配置為充當反向代理的 HTTP 服務器(例如 nginx)。 它可以配置為 map 一個特定的路徑而不是一切。
您還可以使用類似 iptables 的端口轉發(這有效地使軟件偵聽端口 80 及其真實端口)。
這些選項中的任何一個都需要足夠的權限,因此,鑒於您暗示的限制,這對您來說可能是不可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.