代码之家  ›  专栏  ›  技术社区  ›  Amin Shah Gilani

如何将javascript文件包含到我的nginx.conf中

  •  1
  • Amin Shah Gilani  · 技术社区  · 9 年前

    我试图通过nginx向反向代理站点添加一段Javascript代码。

    sub_filter </head>
      '</head><script language="javascript">
         console.log("hello world")
       </script>';
    

    我有没有办法将这个脚本重构到它自己的文件中,然后从那里加载它。类似于:

    sub_filter </head>
      '</head>$load_script_from('/src/tracking')';
    

    或者这是不可能的,我应该使用 gulp 编译我的 nginx.conf 从一堆其他文件?

    nginx.conf

    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
    
        server {
            listen 80;
            server_name localhost;
    
            location / {
    
                sub_filter </head>
                '</head><script>console.log("hello world")</script>';
    
                proxy_pass 10.1.1.1:80;
                proxy_set_header Accept-Encoding "";
            }
        }
    }
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   Amin Shah Gilani    9 年前

    我用 Openresty ,它允许您在lua中使用nginx。我保存了一个注入脚本,并使用 set_by_lua_block .

    set_by_lua_block $injection_script {
      local f = io.open("/path/to/file.js", "rb")
      local content = f:read("*all")
      f:close()
      return content
    }
    
    sub_filter '</head>' "<script>${injection_script}</script></head>";