如何让 nginx 重写请求到不同的服务器(在相同的配置中)?

如何让 nginx 重写请求到不同的服务器(在相同的配置中)?

我试图实现以下目标:出于性能考虑(避免使用 Cookie),我的服务器上的某些文件应从子域(static.example.com)提供。但是,实际上也可以从主主机名访问某些内容。例如,文件 image.png 可以通过以下两种方式访问​​:

http://static.example.com/img/image.png

http://www.example.com/foo/img/image.png

如果这实际上是全静态文件,我可以设置一个别名,但出于各种配置原因,我希望对 的请求static.example.com与对 上的同一文件的请求完全一样www.example.com,后者在同一个 nginx 配置中定义。重写看起来很有希望,但似乎您无法重写“跨服务器”,因为这会将其变成客户端重定向,这(可能?)违背了练习的目的。

如果能提供任何关于如何在不重复相关配置的情况下实现这一点的指示,我们将不胜感激。

相关内容