2017-08-04 23 views
0

nginx経由で逆プロキシサイトにJavascriptコードのスニペットを追加しようとしています。特にnginx.confにjavascriptファイルを含めるにはどうすればいいですか?

、私はそうのように動作しますsub_filterルールを持っている:

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

は私がそれ自身のファイルにこのスクリプトをリファクタリングし、そこからそれをロードするための方法はあります。何かのように:

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

それともこれは不可能である、と私は他のファイルの束から私のnginx.confをコンパイルするgulpを使用する必要がありますか?ここで

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 ""; 
     } 
    } 
} 

答えて

0

私の完全である私は、あなたがLUAでnginxのを使用することができますされ、Openrestyを使用して、これを解決しました。私は注射スクリプトを保存し、ファイルを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>"; 
関連する問題