如何向nginx上的每个站点和页面添加内容

如何向nginx上的每个站点和页面添加内容,nginx,Nginx,我需要在我控制的每个网站的每个页面上添加一段内容(由于GDPR)。在IIS中,我创建了一个自定义模块,加载到服务器GAC中,并在每个站点的web.config中添加了一行。我现在尝试在LEMP堆栈上做同样的事情 每个站点的消息和接口都完全相同,因此首选的解决方案应该从服务器上的单个文件读取内容,并附加到每个标记的末尾。添加模块add\u after\u body似乎最接近我想要做的事情。一个小缺点是它需要位于位置块内,因此需要在每个站点上复制解决方案;但更大的负面影响是,add\u-after\

我需要在我控制的每个网站的每个页面上添加一段内容(由于GDPR)。在IIS中,我创建了一个自定义模块,加载到服务器GAC中,并在每个站点的web.config中添加了一行。我现在尝试在LEMP堆栈上做同样的事情

每个站点的消息和接口都完全相同,因此首选的解决方案应该从服务器上的单个文件读取内容,并附加到每个标记的末尾。添加模块
add\u after\u body
似乎最接近我想要做的事情。一个小缺点是它需要位于
位置
块内,因此需要在每个站点上复制解决方案;但更大的负面影响是,
add\u-after\u-body
指向一个URI而不是一个文件,因此每个站点都需要相同的文件

我也试过了

add_after_body http://localhost/gdprmessage.html;
但这导致每页都包含404消息

有没有办法在服务器上每个站点的每个页面上追加内容


如果没有,使用nginx include,我可以最小化对每个站点配置的更改,但是如何添加可以在单个位置维护的内容呢?

可以将
add\u after\u body
指令放置在
位置
块中,或者周围的
服务器
块中,甚至周围的
http
块中。有关详细信息,请参阅

但是,看起来URI需要是本地位置,并且不能接受方案或主机名

正如您所建议的,最简单的解决方案是在每个
服务器
块中包含一个文件,其中包含(例如):

add_after_body /gdprmessage.html;
location = /gdprmessage.html {
    root /path/to/common/file;
}