【问题标题】:How do I use NGINX to only host NodeJS as a webservice on Windows?如何使用 NGINX 仅在 Windows 上将 NodeJS 作为 Web 服务托管?
【发布时间】:2022-10-08 01:09:55
【问题描述】:

我确信这已被多次回答,但我能找到的所有内容都在谈论使用反向代理,我找不到任何配置选项来简单地在端口 3000 上为我的 NodeJS 应用程序提供服务。

对于我的配置,我在我的 react 构建文件夹中使用 serve -s -l 80 ./ 运行一个 React 网站。在该站点中,我对${hostname} 进行了多次fetch 调用,其中主机名设置为export const hostname = `http://${window.location.hostname}:3000`;(我确信这与本次讨论无关)。

当我从命令行(或从 Windows 启动服务...)使用 node server.js 时,可以找到此方法。

我遇到的问题是周期性的 CORS 问题。由于我在 Windows 域上运行并使用活动目录 SSO Windows 身份验证,因此我无法使用节点的 CORS 插件将access-control-allow-origin: * 发送回我的预检。

在研究这一点时,我了解到可以使用 NGINX 作为服务器在提供页面时包含此标头,而不会干扰我的 express 应用程序中的 CORS 设置。

这个快速应用程序所做的唯一一件事是(很大程度上)作为前端数据库的中介。那么,如何配置 NGINX 以在这台机器的 3000 端口上托管我的 /inetpub/Node_Backend/server.js 应用程序?我已经阅读了多个描述和文章,结果更加困惑而不是相信,所以我在这里寻求帮助。

谢谢

【问题讨论】:

    标签: node.js nginx nginx-config nginx-location


    【解决方案1】:

    使用此配置:

    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=哪个地址您的应用程序正在运行您的 端口号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-14
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多