search
HomeOperation and MaintenanceNginxHow to configure the nginx-http-footer-filter module of Nginx server

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-->

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>

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

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

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

4.2 Test nginx-footer effect

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

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
The following is the access result:


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

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

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

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

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

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

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!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
The Advantages of NGINX: Speed, Efficiency, and ControlThe Advantages of NGINX: Speed, Efficiency, and ControlMay 12, 2025 am 12:13 AM

The reason why NGINX is popular is its advantages in speed, efficiency and control. 1) Speed: Adopt asynchronous and non-blocking processing, supports high concurrent connections, and has strong static file service capabilities. 2) Efficiency: Low memory usage and powerful load balancing function. 3) Control: Through flexible configuration file management behavior, modular design facilitates expansion.

NGINX vs. Apache: Community, Support, and ResourcesNGINX vs. Apache: Community, Support, and ResourcesMay 11, 2025 am 12:19 AM

The differences between NGINX and Apache in terms of community, support and resources are as follows: 1. Although the NGINX community is small, it is active and professional, and official support provides advanced features and professional services through NGINXPlus. 2.Apache has a huge and active community, and official support is mainly provided through rich documentation and community resources.

NGINX Unit: An Introduction to the Application ServerNGINX Unit: An Introduction to the Application ServerMay 10, 2025 am 12:17 AM

NGINXUnit is an open source application server that supports a variety of programming languages ​​and frameworks, such as Python, PHP, Java, Go, etc. 1. It supports dynamic configuration and can adjust application configuration without restarting the server. 2.NGINXUnit supports multi-language applications, simplifying the management of multi-language environments. 3. With configuration files, you can easily deploy and manage applications, such as running Python and PHP applications. 4. It also supports advanced configurations such as routing and load balancing to help manage and scale applications.

Using NGINX: Optimizing Website Performance and ReliabilityUsing NGINX: Optimizing Website Performance and ReliabilityMay 09, 2025 am 12:19 AM

NGINX can improve website performance and reliability by: 1. Process static content as a web server; 2. forward requests as a reverse proxy server; 3. allocate requests as a load balancer; 4. Reduce backend pressure as a cache server. NGINX can significantly improve website performance through configuration optimizations such as enabling Gzip compression and adjusting connection pooling.

NGINX's Purpose: Serving Web Content and MoreNGINX's Purpose: Serving Web Content and MoreMay 08, 2025 am 12:07 AM

NGINXserveswebcontentandactsasareverseproxy,loadbalancer,andmore.1)ItefficientlyservesstaticcontentlikeHTMLandimages.2)Itfunctionsasareverseproxyandloadbalancer,distributingtrafficacrossservers.3)NGINXenhancesperformancethroughcaching.4)Itofferssecur

NGINX Unit: Streamlining Application DeploymentNGINX Unit: Streamlining Application DeploymentMay 07, 2025 am 12:08 AM

NGINXUnit simplifies application deployment with dynamic configuration and multilingual support. 1) Dynamic configuration can be modified without restarting the server. 2) Supports multiple programming languages, such as Python, PHP, and Java. 3) Adopt asynchronous non-blocking I/O model to improve high concurrency processing performance.

NGINX's Impact: Web Servers and BeyondNGINX's Impact: Web Servers and BeyondMay 06, 2025 am 12:05 AM

NGINX initially solved the C10K problem and has now developed into an all-rounder who handles load balancing, reverse proxying and API gateways. 1) It is well-known for event-driven and non-blocking architectures and is suitable for high concurrency. 2) NGINX can be used as an HTTP and reverse proxy server, supporting IMAP/POP3. 3) Its working principle is based on event-driven and asynchronous I/O models, improving performance. 4) Basic usage includes configuring virtual hosts and load balancing, and advanced usage involves complex load balancing and caching strategies. 5) Common errors include configuration syntax errors and permission issues, and debugging skills include using nginx-t command and stub_status module. 6) Performance optimization suggestions include adjusting worker parameters, using gzip compression and

Nginx Troubleshooting: Diagnosing and Resolving Common ErrorsNginx Troubleshooting: Diagnosing and Resolving Common ErrorsMay 05, 2025 am 12:09 AM

Diagnosis and solutions for common errors of Nginx include: 1. View log files, 2. Adjust configuration files, 3. Optimize performance. By analyzing logs, adjusting timeout settings and optimizing cache and load balancing, errors such as 404, 502, 504 can be effectively resolved to improve website stability and performance.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.