【问题标题】:Hosting a Web Server and Web Service locally on same port在同一端口上本地托管 Web 服务器和 Web 服务
【发布时间】:2014-10-23 20:59:46
【问题描述】:

我似乎错过了一些非常明显的东西。 无论如何,我正在开发一个 ReactJs Web 应用程序并使用 nodejs(浏览器同步)来托管一个简单的 Web 服务器以在 localhost 上进行测试。一切正常。

至于服务器端,我有一个托管在 ASP.NET WebAPI 中的 REST 服务。

出于部署原因,我想保持 Web 应用程序中的 url 相对(因为主机名是什么并不重要,只要它在同一个域上运行)。

根据经验,我知道可以同时在 IIS Express 中托管一个自托管的 ASP.NET WebAPI 和一个 Web 应用程序(至少在不同的路径中)。

但是现在当我启动浏览器同步(据我所知,它在内部使用节点 http 服务器)然后 WebAPI 服务主机时,服务主机告诉我它不能在这个 url 上托管。

当我以相反的方式启动它时,浏览器同步会自动增加端口,使其位于下一个空闲端口。

有人有这方面的经验吗?

编辑:

我的问题可能更笼统地说:您如何针对本地运行的 Web 服务开发托管在本地 Web 服务器上的 Web 应用程序(在我的情况下是通过 nodejs)?你在你的网络应用程序中使用相对 URL 吗?这导致服务和网络必须在同一台服务器上运行的问题

【问题讨论】:

    标签: node.js asp.net-web-api localhost hosting gulp


    【解决方案1】:

    我这样解决了我的问题:

    • ASP.NET WebAPI 托管在与 nodejs Web 服务器不同的端口下
    • 我在 nodejs 网络服务器中为所有以“/api/”开头的 url 设置了一个代理,并将这些请求代理到 WebAPI 端口
    • 我可以在我的客户端中使用相对 URL

    【讨论】:

    • 这就是您可以使用仅提供静态文件的 http-server 来实现的方法,假设 8080 是您要浏览站点的端口,而 8081 是您的 API Web 服务器正在运行的站点:http-server -o -p 8080 -P http://localhost:8081/
    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 2011-12-13
    • 2015-10-15
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    相关资源
    最近更新 更多