当前位置: 首页 > 知识库问答 >
问题:

Web包开发服务器代理返回404

俞飞鸣
2023-03-14

最近,我加入了一个团队。作为一名大一新生,我需要熟悉项目代码。该项目使用Angular2和Spring Boot。它还使用Webpack捆绑资产,包括代理(使用Webpack Dev Server)。由于应用程序的规模,代理用于连接到各种后端服务器。

代理就在那里,我队友的电脑似乎运行得很好。不幸的是,我的计算机似乎无法读取代理。这是代理文件(http://位于每个代理目标之前。我的声誉不允许我发布超过两个链接):

devServer: {
    proxy: 
    {
        '/node': {
            target: 'localhost:8080/',
            pathRewrite: {'^/node' : ''},
            secure: false
        },
        '/apiv1': {
            target: 'localhost:8080/', //[dev]8080 
            pathRewrite: {'^/apiv1' : ''},
            secure: false
        },
        '/apiv2': {
            target: 'localhost:8081/',
            pathRewrite: {'^/apiv2' : ''},
            secure: false
        },
        '/apiv3': {
            target: 'localhost:8082/',
            pathRewrite: {'^/apiv3' : ''},
            secure: false
        },
        '/apiv4': {
            target: 'localhost:8083/',
            pathRewrite: {'^/apiv4' : ''},
            secure: false
        },
        '/apiv5': {
            target: 'localhost:7080/',
            pathRewrite: {'^/apiv5' : ''},
            secure: false
        }
        ,
        '/apiv6': {
            target: 'localhost:8084/',
            pathRewrite: {'^/apiv6' : ''},
            secure: false
        },
        '/apiv7': {
            // target: 'localhost:8081/', // local
            target: 'http://localhost:8085/',
            pathRewrite: {'^/apiv7' : ''},
            secure: false
        },
        '/apiv8': {
            target: 'localhost:8086/',
            pathRewrite: {'^/apiv8' : ''},
            secure: false
        }
    },
    historyApiFallback: true,
    stats: 'minimal'
}

不幸的是,无论何时尝试访问API URL(比如“localhost:8050/apiv8/service/012997JX/accounts”),我都会收到404错误:

Request URL: http://localhost:8050/apiv8/service/012997JE/accounts
Request Method: GET
Status Code: 404 Not Found
Remote Address: 127.0.0.1:8050
Referrer Policy: no-referrer-when-downgrade

然而,我知道这不是后端的错。我尝试访问“localhost:8086/service/012997JE/accounts”,它返回了所需的对象。此外,在运行npm start时,似乎未构建代理:

> btpn-fes@1.0.0 start C:\IT170517\fes-service-maintenance-sample\frontend
> webpack-dev-server --inline --progress --port 8050

70% 4/4 build modules
http://localhost:8050/
webpack result is served from http://localhost:8050/
content is served from C:\IT170517\fes-service-maintenance-sample\frontend
404s will fallback to /index.html                                                                                            
chunk    {0} app.js (app) 1.72 MB {3} [rendered]
chunk    {1} env.js (env) 153 bytes {2} [rendered]
chunk    {2} polyfills.js (polyfills) 475 kB [rendered]
chunk    {3} vendor.js, vendor.css (vendor) 4.47 MB {1} [rendered]
Child html-webpack-plugin for "index.html":
    chunk    {0} index.html 806 bytes [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 360 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 10.2 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 81.3 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 43.1 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 46.9 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 439 kB [rendered]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 30.7 kB [rendered]
webpack: Compiled successfully.

如果您想知道,我正在运行以下网页:

  • 网页:1.13。0
  • 网页包开发服务器:1.14。1
  • 网页合并:0.14。0

我的代理配置是否有问题?

谢谢你的帮助。

共有1个答案

刘德义
2023-03-14

嗯,我终于通过升级到另一个Webpack版本解决了这个问题。我现在使用以下Webpack配置

"webpack": "1.15.0",
"webpack-dev-server": "1.16.5",
"webpack-merge": "0.14.1"

同时将我的nodeJS版本降级到6.10。3升。

希望这能有所帮助。

 类似资料:
  • 我有最困难的时候让我的webpack开发服务器代理到我的后端。 我使用Vue和webpack cli模板。 我的后端托管在docker容器中,可以在localhost:8443/foo上看到 我的devServer配置设置为: 正如我前面所说,当我将浏览器指向https://localhost:8443/foo 当我运行我的webpack服务器,并试图https://localhost:9000/

  • 我有两个docker容器由docker compose管理,似乎无法正确使用webpack将某些请求代理到后端api。 docker-compose.yml: 服务web是一个简单的react应用程序,由webpack开发服务器提供服务。服务返回是一个节点应用程序。 我没有问题从我的主机访问任何应用程序: 我还可以从web容器ping和curl back服务: 但是我有一个问题与代理。Webpac

  • 问题内容: 我需要从C#Web服务获取Json数据。 我知道有一些基于此的问题,相信我,我已经阅读了很多,但只是让我进一步困惑。 这是我所做的: 在我的Web服务中,我包括了:用于类和方法 我还使用了a 将我的数据转换为字符串 我正在使用此服务致电 如果我不使用它,则会收到跨域引用错误。 为此,我必须设置m服务以获取回调函数名称,以便传递t +序列化的Json Data; 但是在输出中我把它包裹起

  • 我正在尝试将Jersey RESTful服务部署到Google AppEngine上。我可以让它使用标准,但是,我计划使用PostgreSQL数据库,所以我需要使用flex。该应用程序在本地jetty服务器上运行良好,但我在路由和日志中得到了返回。 我得到的例外情况是: JAVAlang.IllegalStateException:com上没有可用的上下文。谷歌。云运行时。码头9。部署检查。lif

  • 我使用的是Nexus3.2,我有包含npmjs和npm-internal存储库的npm-all组,但例如,当我执行时,返回以下错误: npm信息如果以OK结束,则它可以工作 npm信息使用npm@3.10.3 npm信息使用节点@v6.5.0 npm信息尝试注册表请求尝试#1在17:31:16 npm http请求GET http://x.x.x.x:8081/repository/npm-all

  • 使用代理服务器 如果你想使用代理服务器进行激活进程,可勾选这个选项。请选择“代理服务器类型”并输入“主机”、“端口”、“用户名”和“密码”。