如何让tomcat从webpack dev服务器提供静态文件?

问题描述 投票:0回答:1

我们有一个用于API的tomcat服务器和一个用于前端开发的webpack服务器。

tomcat服务器处理身份验证并从身份验证提供程序接收身份验证令牌。此令牌也必须在我的webpack服务器的所有请求中使用。出于安全原因,我们不允许使用localhost。所以我需要tomcat来从webpack提供静态文件。我已经找到了最终构建的连线,它将js包放在war文件中。但我无法弄清楚开发服务器。

我们没有httpd或nginx用于反向代理。

如何将Tomcat中的静态资源代理到webpack dev服务器?我应该在server.xml中添加连接器还是类似的东西?

org.website.com/index.html - > locahost:3000 / index.html

tomcat webpack webpack-dev-server
1个回答
0
投票

所以我们添加了nginx,我通过添加一个服务器块来解决这个问题,该服务器块处理tomcat和dev服务器的代理逻辑。我可以从publicPath'/ dev /'服务webpack开发服务器。所以mydomain.com/将提供tomcat的index.html,mydomain.com / dev将提供webpack的内容。这样我可以在mydomain.com/dev中进行热重新加载时查询后端tomcat api。

server {
    listen 443 ssl;
    server_name mydomain.com;
    proxy_read_timeout 3500s;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate ../cert/mydomain.cer;
    ssl_certificate_key ../cert/mydomain.key;
    root /usr/share/nginx/html;

    location /dev/ {
      proxy_pass https://localhost:3000;
      expires off;
    }

    location /sockjs-node/ {
        proxy_pass          https://localhost:3000;
      proxy_http_version  1.1;
        proxy_set_header    Upgrade $http_upgrade;
        proxy_set_header    Connection "upgrade";
      expires off;
    }

    location / {
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_redirect http:// https://;
      proxy_pass https://localhost:8443;
      proxy_http_version 1.1;
      proxy_request_buffering off;
      expires off;
    }

  }

我希望这可以帮助别人。

© www.soinside.com 2019 - 2024. All rights reserved.