使用Nginx和Docker的Webpack开发服务器:在错误的地址上轮询信息

复仇

我在Docker中有2个容器

Nginx正确地代理了对节点容器的请求,我可以在http:// localhost:8080上访问节点应用程序,但是由于某些原因,还有其他类型为http:// localhost:3000 / sockjs-node / info的轮询请求? t = 1570780621084失败(net :: ERR_CONNECTION_REFUSED),因为在主机上仅可见端口8080上的Nginx。我认为这些轮询请求应定向到Nginx(http:// localhost:8080 / sockjs-node / info?t = 1570780621084),但我不知道我必须在Webpack devserver配置上进行哪些更改以解决此问题。

这是Web pack devserver配置:

const path = require("path");
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const {
    BUILD_DIR,        
} = require("./config/config");

module.exports = {
    entry: {
        bundle: [
            "@babel/polyfill", 
            "./src/app.js",
        ]
    },

    output: {
        path: BUILD_DIR,
        filename: "[name].[hash].js"
    },

    devtool: "inline-source-map",

    devServer: {
        host: "localhost",
        port: 3000,        
        contentBase: BUILD_DIR,
        historyApiFallback: false,
        hot: true,
        inline: true,
        watchOptions: {
            poll: true
        },
        disableHostCheck: true,
    },

    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.css$/,
                use: ["style-loader", "css-loader"],
            },
            {
                test: /\.scss$/,
                use: ["style-loader", "css-loader", "sass-loader"]
            }
        ],
    },

    plugins: [
        new CleanWebpackPlugin(),

        new HtmlWebpackPlugin({
            template: "src/index.html",
            filename: "index.html",
            inject: true
        }),
    ]
};

这是Nginx的配置:

upstream reactclient {
    server react-client:3000 fail_timeout=20s max_fails=10;
}

server {
    listen 80;

    location / {
        proxy_pass http://reactclient;
    }   

    location /sockjs-node/ {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;

        proxy_pass http://reactclient;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";  
    }
}

到目前为止,我已经尝试在devserver配置的条目中添加以下内容,但是id无效。

entry: {
        bundle: [
            `webpack-dev-server/client?http://localhost:8080`,
            "webpack/hot/dev-server",
            "@babel/polyfill", 
            "./src/app.js",
        ]
    },

如何使Webpack devserver在Docker中与Nginx一起正常工作?

复仇

假设dev-server在端口3000上运行并且在端口8080上运行nginx,这对我有用(请参阅web-devserver公共选项):

Nginx default.conf

upstream reactclient {
    server react_client:3000 fail_timeout=20s max_fails=100;
}

server {
    listen 80;

    location / {
        proxy_pass http://reactclient;
    }       

    location /sockjs-node/ {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;

        proxy_pass http://reactclient;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";  
    }
}

Webpack

// [...]
devServer: {
        host: '0.0.0.0',
        port: 3000,
        public: `localhost:8080`,
        historyApiFallback: false,
        hot: true,
        inline: true,
        watchOptions: {
            aggregateTimeout: 300,
            poll: 1000,
            ignored: /node_modules/,
        },
        disableHostCheck: true,
    },
// [...]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Docker和NGINX将两个单独的Webpack开发服务器应用程序添加到子文件夹中

来自分类Dev

使用 Nginx 和 Gunicorn 在同一台服务器上的多个 Mezzanine 项目:“找不到服务器 IP 地址”

来自分类Dev

在开发服务器上使用GIT

来自分类Dev

如何同时使用historyApiFallback和代理远程api请求来设置Webpack开发服务器?

来自分类Dev

使用Nginx和Create-React-App开发服务器并启动npm

来自分类Dev

使用Nginx和Create-React-App开发服务器并启动npm

来自分类Dev

快速使用webpack开发服务器的目的是什么?

来自分类Dev

如何使用Webpack 2开发服务器提供资产

来自分类Dev

服务器上的NGINX Docker与Ubuntu服务器上已存在的NGINX

来自分类Dev

Homestead-Vue Webpack服务器的Nginx 502错误

来自分类Dev

Web服务器如何“监听” IP地址,中断或轮询?

来自分类Dev

如何在没有webpack开发服务器的情况下使用webpack进行开发?

来自分类Dev

一台服务器上的 Docker、nginx 和多个站点

来自分类Dev

Webpack 开发服务器无法获取

来自分类Dev

Webpack 开发服务器问题

来自分类Dev

通过Nginx Web服务器上的子域代理的Nextcloud Docker容器上的502错误网关错误

来自分类Dev

使用Javascript拦截开发服务器上的链接

来自分类Dev

如何使用 webpack 开发服务器在 webpack 配置中设置浏览器列表

来自分类Dev

如何使用nginx docker容器访问localhost上的服务器?

来自分类Dev

webpack2 和 webpack 开发服务器 - 每次更改文件时运行 shell 命令

来自分类Dev

Ubuntu服务器上的Nginx抛出404错误

来自分类Dev

Nginx总是退回到错误的服务器块上

来自分类Dev

PHPMailer使用nginx在我的Digital Ocean服务器上导致504超时错误

来自分类Dev

PHPMailer使用Nginx在我的Digital Ocean服务器上导致504超时错误

来自分类Dev

nginx服务器和node.js运行错误

来自分类Dev

Django,uwsgi和nginx-内部服务器错误

来自分类Dev

使用Gunicorn和Nginx部署Django时出现500个内部服务器错误

来自分类Dev

使用 nginx 和 IIS 在单台服务器上测试负载平衡

来自分类Dev

尝试与 Webpack 和 Express 同时开发服务器和客户端应用程序

Related 相关文章

  1. 1

    使用Docker和NGINX将两个单独的Webpack开发服务器应用程序添加到子文件夹中

  2. 2

    使用 Nginx 和 Gunicorn 在同一台服务器上的多个 Mezzanine 项目:“找不到服务器 IP 地址”

  3. 3

    在开发服务器上使用GIT

  4. 4

    如何同时使用historyApiFallback和代理远程api请求来设置Webpack开发服务器?

  5. 5

    使用Nginx和Create-React-App开发服务器并启动npm

  6. 6

    使用Nginx和Create-React-App开发服务器并启动npm

  7. 7

    快速使用webpack开发服务器的目的是什么?

  8. 8

    如何使用Webpack 2开发服务器提供资产

  9. 9

    服务器上的NGINX Docker与Ubuntu服务器上已存在的NGINX

  10. 10

    Homestead-Vue Webpack服务器的Nginx 502错误

  11. 11

    Web服务器如何“监听” IP地址,中断或轮询?

  12. 12

    如何在没有webpack开发服务器的情况下使用webpack进行开发?

  13. 13

    一台服务器上的 Docker、nginx 和多个站点

  14. 14

    Webpack 开发服务器无法获取

  15. 15

    Webpack 开发服务器问题

  16. 16

    通过Nginx Web服务器上的子域代理的Nextcloud Docker容器上的502错误网关错误

  17. 17

    使用Javascript拦截开发服务器上的链接

  18. 18

    如何使用 webpack 开发服务器在 webpack 配置中设置浏览器列表

  19. 19

    如何使用nginx docker容器访问localhost上的服务器?

  20. 20

    webpack2 和 webpack 开发服务器 - 每次更改文件时运行 shell 命令

  21. 21

    Ubuntu服务器上的Nginx抛出404错误

  22. 22

    Nginx总是退回到错误的服务器块上

  23. 23

    PHPMailer使用nginx在我的Digital Ocean服务器上导致504超时错误

  24. 24

    PHPMailer使用Nginx在我的Digital Ocean服务器上导致504超时错误

  25. 25

    nginx服务器和node.js运行错误

  26. 26

    Django,uwsgi和nginx-内部服务器错误

  27. 27

    使用Gunicorn和Nginx部署Django时出现500个内部服务器错误

  28. 28

    使用 nginx 和 IIS 在单台服务器上测试负载平衡

  29. 29

    尝试与 Webpack 和 Express 同时开发服务器和客户端应用程序

热门标签

归档