我们有一个用于API的tomcat服务器和一个用于前端开发的webpack服务器。
tomcat服务器处理身份验证并从身份验证提供程序接收身份验证令牌。这个令牌也必须在我的webpack服务器的所有请求中使用。出于安全原因,我们不允许使用localhost。所以我需要tomcat从webpack提供静态文件。我已经弄清楚了将js捆绑包放入war文件中的最终版本的布线。但是我无法为开发服务器弄清楚。
我们没有httpd或nginx用于反向代理。
如何将Tomcat中的静态资源代理到Webpack开发服务器?我应该在server.xml中添加连接器还是类似的东西?
org.website.com/index.html-> locahost:3000 / index.html
答案 0 :(得分: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;
}
}
我希望这对某人有帮助。