Skip to content

nginx给网站注入plausible脚本

问题

如果有大量的web服务需要加上跟踪或者统计的js脚本,或者我们不希望修改业务服务源码来实现这类的附加功能,能不能在服务器渲染的html中注入相关的脚本。

处理

nginx的ngx_http_sub_module模块可以实现这类功能。

我使用的nginx docker版本为1.19.10,是默认启用了ngx_http_sub_module的,免去了编译的麻烦,直接搞

# 查看nginx加载的模块
docker exec nginx nginx -V

添加如下配置

server {
......
    sub_filter      <head> '<head><script async defer data-domain="你的服务域名" src="https://你的plausible服务域名/js/plausible.js"></script>';
     sub_filter_once on;
......
}
# 重新加载nginx配置
docker exec nginx nginx -s reload

参考

http://nginx.org/en/docs/http/ngx_http_sub_module.html

https://docs.appdynamics.com/display/PRO21/Injection+Using+Nginx

Published in技术自建服务

Be First to Comment

Leave a Reply

Your email address will not be published.