如何使用NGINX在Windows上仅将NodeJS作为Web服务托管?

bgtovc5b  于 2022-11-02  发布在  Nginx
关注(0)|答案(1)|浏览(167)

我确信这个问题已经回答了很多次,但是我能找到的所有东西都在谈论使用反向代理,我找不到任何配置选项来简单地在端口3000上为我的NodeJS应用程序提供服务。
在我的配置中,我使用react build文件夹中的serve -s -l 80 ./运行一个React网站,在该网站中,我对${hostname}进行了多次fetch调用,其中hostname被设置为export const hostname =http://${window.location.hostname}:3000;(我确信这与本文的讨论基本无关)。
当我从命令行(或从Windows启动服务...)使用node server.js时,这可以找到。
我遇到的问题是周期性的CORS问题。由于我在Windows域上运行,并使用Active Directory SSO Windows身份验证,我无法使用节点的CORS插件将access-control-allow-origin: *发送回我的预检。
在研究这一点时,我了解到可以使用NGINX作为服务器,在为页面提供服务时包含此标题,而不会干扰我的Express应用程序中的CORS设置。
这个express应用程序做的唯一的事情就是(主要)作为前端数据库的中介。那么,我如何配置NGINX来将我的/inetpub/Node_Backend/server. js应用程序托管在这台机器的3000端口上呢?我已经阅读了很多描述和文章,结果是困惑多于确信,所以我在这里寻求帮助。
谢谢

3qpi33ja

3qpi33ja1#

  • 使用此配置:*
server {

   listen 80;

   server_name v4.deepchainlabs.com www.v4.deepchainlabs.com;

   location / {

      proxy_set_header X-Real-IP $remote_addr;

      proxy_pass http://localhost:3000;

   }

 }

v4.deepchainlabs.com * 您的域名**
http://localhost:3000=您运行应用程序的地址您的端口号

相关问题