How to configure the nginx-http-footer-filter module of Nginx server

WBOY
Release: 2023-05-26 12:31:46
forward
1234 people have browsed it

1. What exactly does nginx-http-footer-filter do?
To put it bluntly, it means inserting the code you want to insert at the bottom of the requested page.
2. What can we do with nginx-http-footer-filter?
1. Add js code uniformly for statistics (this is what I think)
2. Add the realsver (backend real server) information that responds to this request at the bottom to facilitate system administrators to troubleshoot.
3. You manage a huge number of virtual hosts, append your advertising code, black links, etc. behind all web pages (very shameless)
4. Draw inferences from one example and think about what you can use it for.
What does Taobao use it for?
Open the Taobao homepage, view its source code, drag it to the bottom, the content is as follows:

<!--city: fuzhou-->
<!--province: unknown-->
<!--hostname: -->
<!--hostname: home1.cn199-->
Copy after login

We can clearly see that there are provinces, regions and host names here, which is the real Taobao The host name of the server. The host name that handles my request is home1.cn199. The city is fuzhou, but the province is not. It is probably a geo problem.
Or just open a product page and view the source code, as follows:

</html>
<script type="text/javascript">tshop.initfoot({});</script>
Copy after login

You can see that he has added a js code to this page. I think everyone understands the purpose of Taobao developing this module. Let's brainstorm, maybe everyone has better uses.
3. How to install nginx-http-footer-filter
3.1 Download address:

https://github.com/alibaba/nginx-http-footer-filter/tree/1.2. 2
3.2 Install nginx-footer module
nginx has been installed before, so I chose to overwrite the nginx file.

# cd /usr/local/src/
# wget https://codeload.github.com/alibaba/nginx-http-footer-filter/zip/1.2.2
# unzip 1.2.2
 
# http://nginx.org/download/nginx-1.4.1.tar.gz
# tar -xzvf nginx-1.4.1.tar.gz
# cd nginx-1.4.1
# ./configure --prefix=/usr/local/nginx-1.4.1 \
--with-http_stub_status_module --with-http_realip_module \
--add-module=../nginx-http-footer-filter-1.2.2
# make
# mv /usr/local/nginx-1.4.1/sbin/nginx /usr/local/nginx-1.4.1/sbin/old_nginx
# mv objs/nginx /usr/local/nginx-1.4.1/sbin/
# /usr/local/nginx-1.4.1/sbin/nginx -s stop
# /usr/local/nginx-1.4.1/sbin/nginx
Copy after login

3.3 Verify whether the module is installed successfully

# /usr/local/nginx-1.4.1/sbin/nginx -v
nginx version: nginx/1.4.1
built by gcc 4.4.7 20120313 (red hat 4.4.7-3) (gcc)
tls sni support enabled
configure arguments: --prefix=/usr/local/nginx-1.4.1 
--with-http_stub_status_module 
--with-http_realip_module 
--add-module=../nginx-http-footer-filter-1.2.2
Copy after login

4. How to use nginx-http-footer-filter module
4.1 Configure location
in location Just use footer "your content". See the following configuration

server {
    listen    173.255.219.122:80;
    server_name test.ttlsa.com;
    access_log /data/logs/nginx/test.ttlsa.com.access.log main;
 
    index index.html index.php index.html;
    root /data/site/test.ttlsa.com;
    location / {
      footer "<!-- $date_gmt -->";
      index index.html;
    }
 
    location =/html/2252.css {
      footer_types text/css;
      footer "/* host: $server_name - $date_local */";
}
Copy after login

4.2 Test nginx-footer effect

# cat 2252.shtml
<html>
  <head>
  <title>test</title>
  </head>
  <body>
    this is webpage
  </body>
</html>
Copy after login

Visit the site test.ttlsa.com/html/2252.shtml

How to configure the nginx-http-footer-filter module of Nginx server

##As shown in the picture, we can see that is added at the bottom of the file. Why does it become a time pinch? Because on my side It is the syntax of ssi. If you don’t know what ssi is, then please refer to the article What is ssi.

[warning] It is only appended to the last line of the file, not inside the . Everyone should pay attention to this. .[/warning]
4.3 Let’s test the css file again

# cat 2242.css
# this is css file
Copy after login

The following is the access result:


# this is css file
/* host: test.ttlsa.com - 1376064324 */
Copy after login

Look at the picture:


How to configure the nginx-http-footer-filter module of Nginx server

5. Can I write multiple footer instructions?
No, I wrote two footers below

location / {
  footer "12312321321";
  footer "<!-- $date_gmt -->";
  index index.html;
}
Copy after login

The following test shows that the footer command is repeated

# /usr/local/nginx-1.4.1/sbin/nginx -t
nginx: [emerg] "footer" directive is duplicate in /usr/local/nginx-1.4.1/conf/vhost/test.ttlsa.com.conf:13
nginx: configuration file /usr/local/nginx-1.4.1/conf/nginx.conf test failed
Copy after login

6. Can only ssi variables be used?
Of course not, you can write whatever you want, it can be an ssi command, an nginx variable, or any meaningless string
as follows:

footer "12312321321";
footer "<!--12312321321-->";
footer "<!--$remote_addr-->";
Copy after login

For example, me If I want to know which web server is processing this page, then I can insert the host name at the bottom. In this way, if there is a 500 error, I can immediately locate the specific server

footer "<!--$hostname-->";
Copy after login

The return results are as follows:


How to configure the nginx-http-footer-filter module of Nginx server

7. The server returns errors such as 500, 404, 403, etc. Will the content be appended to the bottom?
Yes, if not, it will not pass. The returned page knows which web server is faulty, which is obviously not in line with the author's original intention.
The configuration is as follows:

location / {
  return 500;
  footer "<!--$hostname-->";
}
Copy after login
The results are as follows:


How to configure the nginx-http-footer-filter module of Nginx server

##8. Module instruction description:

The footer module is very simple, with only two instructions. The specific instructions are as follows
footer string
Default value :
Configuration section: http, server, location
This defines what content is appended to the bottom of the file content
footer_types mime type
Default value: footer_types: text/html
Configuration section: http, server, location

The above is the detailed content of How to configure the nginx-http-footer-filter module of Nginx server. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template