- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 nginx 来提供使用 Error Page middleware 的自定义错误页面以便可以使用自定义错误页面处理对 lambda 服务(我无法控制)的 404 请求。我希望能够在该错误页面上获取此原始请求的上下文,要么在 Nginx 中进行进一步转发,要么作为进一步处理的 header ,例如在 PHP 或诸如此类的内容中,因此我可以在 404 页面上提供上下文链接。
但是,现在在 Traefik 的 ErrorPage 中间件中重定向到 Nginx 之后,请求似乎丢失了原始服务查询中的所有 header 和数据。
我的 dockerfile 的相关部分:
traefik.port=8080
traefik.protocol=http
traefik.docker.network=proxy
traefik.frontend.rule=PathPrefix:/myservice;ReplacePathRegex:^/myservice/(.*) /newprefix/$$1
traefik.frontend.errors.myservice.status=404
traefik.frontend.errors.myservice.service=nginx
traefik.frontend.errors.myservice.query=/myservice-{status}
Nginx 收到转发的 404 请求,但请求 URI 只是路径
/myservice-404
在查询中指定(或
/
,如果我省略
traefik.frontend.errors.myservice.query
)。在 ReplacePathRegex 之后,我在
HTTP_X_REPLACED_PATH
中获得了原始请求的路径。 header ,但在任何 header 中都无法再访问任何查询参数,并且 nginx 无法看到有关原始 URI 的任何其他信息。例如,如果我请求
mysite.com/myservice/some/subpath?with=parameters
,
HTTP_X_REPLACED_PATH
标题将显示
/myservice/some/subpath
但不包括参数。
try_files
的东西,在那里我可以说“如果这个 traefik 请求失败,请尝试其他路径”,但我会满足于能够在处理后端服务器中访问原始的完整请求参数。如果有一种方法可以使用 Traefik 收到的完整路径和查询向 Nginx 发送请求,那将是理想的。
最佳答案
不幸的是,这在 Traefik 中是不可能的。我试图实现类似的东西,但我意识到我们能够传递给错误页面的唯一信息是 HTTP 代码,就是这样。
他们的文档中提到了唯一可用的选项:https://doc.traefik.io/traefik/middlewares/errorpages/
关于traefik - 如何将带有参数的原始 URI 传递给 `query` 中指定的 Traefik ErrorPage 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66211983/
我正在尝试使用两个域和使用 Let's Encrypt 生成的证书来设置 traefik 的 dockerized 版本。 我已经修改了 traefik.toml 看起来像这样: [acme] e
traefik.frontend.rule=Host:example.com 将对 example.com 的请求重定向到该后端。那么traefik.domain有什么用呢? 最佳答案 默认前端规则为
traefik.frontend.rule=Host:example.com 将对 example.com 的请求重定向到该后端。那么traefik.domain有什么用呢? 最佳答案 默认前端规则为
我使用 docker compose(运行 swarm 模式)进行了以下设置: mydomain.com --> ContainerA:8080 但我想要的是通过标签,为同一个容器指定以下内容: my
我正在尝试使用 Traefik 在我的 Docker Swarm 模式集群中部署代理多个应用程序。 我已经得到它以便它代理一个命名的主机,但我希望它代理一个命名的主机和路径,但我无法计算出我需要使用的
我绝对爱上了 Traefik。然而,作为初学者,我想念 Nginx 风格 nginx -t来验证配置文件。 我在 docker 容器中运行 traefik,每当我更新我的配置文件(*.toml 文件)
我决定将 traefik 的版本从 1.7.x 升级到 2.2.1。 所以我遵循了上述解决方案的指导方针(https://gist.github.com/fatihyildizhan/8f124039
我们使用 traefik 来反向代理我们的微服务环境,在 Kubernetes 的 staging 和 prod 上运行,并在本地使用 docker-compose。我们正在尝试将请求代理到特定微服务
如何为日志文件启用日志轮换,例如访问.log。 这是内置的吗? 文档只说“这允许日志由外部程序旋转和处理,例如 logrotate” 最佳答案 如果您正在运行 Traefik 在 docker 容器然
我需要像这样重写我的应用程序的 URL:https://router.vuejs.org/guide/essentials/history-mode.html#example-server-confi
我需要将 SSL 连接直接发送到后端,而不是在我的 Traefik 上解密。后端需要接收https请求。 我尝试了 traefik.frontend.passTLSCert=true 选项,但是当我访
使用 docker,我尝试使用 HTTPS 端口 443 设置 traefik 后端,因此 traefik 容器和应用程序容器(apache 2.4)之间的通信将被加密。 我收到了 Internal
我有一个容器('矩阵'),基于 https://github.com/silvio/docker-matrix (虽然这可能并不重要)。 它在端口 8448 和 3478(不是 80 或 443)上运
我是 Docker 和 Traefik 的新手,所以我决定和他们一起玩一下。我试着按照这个 digital ocean 教程:https://www.digitalocean.com/communit
我有一个“服务器”设置,在容器中运行多个服务,其中 traefik 工作得很好。我想为在单独计算机上运行的服务添加虚拟主机,以便我可以访问 hassio.domain.com 并转发到该服务器。有一次
我已经将 Traefik 设置为在 Docker Swarm 模式下工作。我已使用以下命令将 Portainer 部署到集群中: docker service create
我正在从 Nginx 迁移到 Traefik 作为 Docker Swarm 的反向代理。 目前,每个带有 Bearer Token 的请求都会被发送到身份验证服务(在 Swarm 中运行的微服务),
使用 docker 容器中的 Traefix 1.2.3 版,我设置了以下文件。 traefik: image: traefik command: --web --docker --docke
我正在考虑为我的网络项目 (Kestrel/.Net Core) 将 Apache 替换为 Traefik。阅读文档后,关于 Traefik,我还有一些不清楚的地方: 1/Traefik 是否自动处理
我提前为我对 Traefik 的新手理解道歉,但有没有办法重写“非 www”域 带有基于请求的变量 ? 我已经在谷歌上搜索了一个多小时,找不到答案。 这是我如何在 Apache 中执行此操作的示例。你
我是一名优秀的程序员,十分优秀!