说我有一个运行在kubernetes集群中的webapp,它的端口80公开为NodePort。该应用程序的终结点为/app
。我创建了一个路径为/prod
的入口,该入口指向我的Web应用程序和暴露的NodePort服务。
如果我点击http://example.com/prod,我看到我的请求成功到达了我的应用程序,但是我得到了HTTP 303重定向到登录页面作为响应。重定向是由我的应用创建的,不知道它是从入口控制器后面访问的,所以我被重定向到http://example.com/app/login.html。之所以中断,是因为我的入口希望请求为/prod/login.html
才能转发,所以我得到了404。
nginx是否可以通过某些重写规则来拦截这些响应并对其进行适当的格式化?
我知道有一种方法可以通过注释使用重写规则,以便将来自浏览器到/prod
形式的入口的请求重写为/app
并从入口发送到后端。但是,我不知道这种情况是否会反向发生,包含/app
的后端的响应可以在入口处重写为/prod
,然后再发送给浏览器。
这可能吗?