繁体   English   中英

浏览器URL和HTTP请求

[英]Browser URLs and HTTP requests

我目前正在构建一个Web组合,其中包含我过去制作的许多较小的Web应用程序。 在路线(/)处,您会找到一个页面,其中包含指向其他较小Web应用程序的链接。 例如,有一个路由链接(/棋盘游戏),它带您到我之前制作的小型棋盘游戏网络应用程序。

我正在努力的是这个。 较小的网络应用棋盘游戏将html,css和javascript提供给不包含前缀路由(/棋盘游戏)的路由。 因此,当棋盘游戏页面请求(/css/style.css)时,由于内容实际上位于(/board-game/css/style.css),因此不会加载任何内容。

我的问题是这个。 有没有办法将这些请求重新路由到适当的路由? 我想避免重写这些较小项目的任何部分。 有什么建议么? 谢谢。

另外,这是我当前的nginx.conf文件。

worker_processes 1;

events {
  worker_connections 1024;
}

http {
  upstream portfolio {
    server portfolio-svc:8080;
  }

  upstream board-game {
    server board-game-svc:8080;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://portfolio/;
    }

    location /board-game {
      proxy_pass http://board-game/;
    }
  }
}

您需要将路径重写为位置的一部分,例如:

worker_processes 1;

events {
  worker_connections 1024;
}

http {
  upstream portfolio {
    server portfolio-svc:8080;
  }

  upstream board-game {
    server board-game-svc:8080;
  }

  server {
    listen 80;

    location = / {
      proxy_pass http://portfolio/;
    }

    location = /board-game {
      proxy_pass http://board-game/;
      rewrite ^(.*)board-game(.*)$ http://board-game/$2 permanent;
      sub_filter /css/ /board-game/css/
    }
  }
}

您可能需要稍微进行一下匹配,但这是一般的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM