在开发模式下为我的 ReactJS 应用 运行 创建一个 URL 映射
Creating a URL mapping for my ReactJS app running in development mode
我有一个 ReactJS 应用程序 运行 处于开发模式,端口号 3000
。我正在尝试使用 Nginx 创建一个映射,以便 avt1.example.com/demo
的所有请求都被路由到 http://localhost:3000/demo
但这不起作用,我看到的只是一个空白页面。
但如果我尝试 avt1.example.com:3000/demo
,它会按预期工作。我不明白我哪里出错了。这是我为 Nginx 创建的配置文件 example.com
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
# pass to ReactJS app
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
# pass to NodeJS app
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我遗漏了什么或做错了什么?我使用 yarn start
启动了 react-app,如果我提供域的端口号就可以正常工作。
此外,如果有 运行 ReactJS 应用程序更好的建议,请告诉我。
你的问题缺少节点 js 代码,所以我猜你在 nodejs 代码中也设置了 "demo" url。因此,您需要将站点启用配置编辑为以下内容
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
# pass to ReactJS app
proxy_pass http://localhost:3000/demo;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
# pass to NodeJS app
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
但可读性更好的是
# pass to ReactJS app
upstream demotool {
server 0.0.0.0:3000/demo;
}
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
proxy_pass demotool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我现在不是代理传递后端内容的理由
我有一个 ReactJS 应用程序 运行 处于开发模式,端口号 3000
。我正在尝试使用 Nginx 创建一个映射,以便 avt1.example.com/demo
的所有请求都被路由到 http://localhost:3000/demo
但这不起作用,我看到的只是一个空白页面。
但如果我尝试 avt1.example.com:3000/demo
,它会按预期工作。我不明白我哪里出错了。这是我为 Nginx 创建的配置文件 example.com
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
# pass to ReactJS app
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
# pass to NodeJS app
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我遗漏了什么或做错了什么?我使用 yarn start
启动了 react-app,如果我提供域的端口号就可以正常工作。
此外,如果有 运行 ReactJS 应用程序更好的建议,请告诉我。
你的问题缺少节点 js 代码,所以我猜你在 nodejs 代码中也设置了 "demo" url。因此,您需要将站点启用配置编辑为以下内容
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
# pass to ReactJS app
proxy_pass http://localhost:3000/demo;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
# pass to NodeJS app
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
但可读性更好的是
# pass to ReactJS app
upstream demotool {
server 0.0.0.0:3000/demo;
}
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
proxy_pass demotool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我现在不是代理传递后端内容的理由