Nginx with Accept-Language support

Utilizing the Accept-Language header in nginx requires a module. This is documentation about how to make it work.

I wanted to use this header to server different files for different languages. You might easily imagine having a set of static files like index_en.html, index_es.html and index_ja.html and wanting to serve one of these depending on the preferences in the Accept-Language header.

This was done on a brand-spanking-new Ubuntu 14.04 Server Edition VM.

Installing #

Get the source for nginx

mkdir nginx_src
cd nginx_src
wget http://nginx.org/download/nginx-1.6.0.tar.gz

Extract it

tar -xvf nginx-1.6.0.tar.gz

Get the accept_language_module

cd ~
git clone https://github.com/giom/nginx_accept_language_module.git

or

wget https://github.com/giom/nginx_accept_language_module/archive/master.zip
unzip master.zip
mv nginx_accept_language_module{-master,}

Install the dependencies

sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev make libssl-dev

Build nginx with the new module

cd nginx_src/nginx-1.6.0
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --with-http_ssl_module --with-http_gunzip_module --with-http_realip_module --with-http_gzip_static_module --with-http_secure_link_module --group=nginx --add-module=$HOME/nginx_accept_language_module/
make
sudo make install

Now you have nginx compiled to allow you to use the Accept-Language header.

How to use it #

See http://wiki.nginx.org/AcceptLanguageModule#Example_configuration

Sources #

http://wiki.nginx.org/Install

http://wiki.nginx.org/AcceptLanguageModule

http://xmodulo.com/2014/01/compile-install-nginx-web-server.html

 
10
Kudos
 
10
Kudos

Now read this

Bitcoin goals, defined by the whitepaper

Engineers weigh different design choices on their merits and choose the solution that best matches the requirements. The goals of the bitcoin project are outlined in the bitcoin whitepaper. Trustless # The goal of being trustless is... Continue →