Simply forward the requests made to your server by running Nginx and pass it to the external server, just as it would refer to a local apache. This is an example of configuration (it usually stays in /etc/nginx/conf.d/*.conf
or /etc/nginx/sites-enabled/*
):
# definição do upstream: o servidor com apache que receberá as requisições
upstream apache {
server xxx.xxx.xxx.xxx:80;
# Onde xxx.xxx.xxx.xxx é o endereço IP público do servidor remoto
}
# definição de onde você armazenará o cache (zona)
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=apachecache:180m max_size=500m;
# limites de tempo
proxy_connect_timeout 30;
proxy_read_timeout 120;
proxy_send_timeout 120;
# condição e tempo de armazenamento do cache
proxy_cache_valid 200 60m;
# Configuração do servidor local
server {
listen 80;
server_name _;
location / {
# zona de cache: deve ser o mesmo nome que keys_zone
proxy_cache apachecache;
# Esta diretriz fará com que você possa utilizar as configurações
# de VirtualHost do apache
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_buffering off;
# passa para o apache
proxy_pass http://apache;
}
}
You will need to configure DNS to route to the Nginx server instead of the Apache remote server. Note that there are many other guidelines available to configure the server. For more information, see: link
Compression is usually enabled in block http
of file /etc/nginx/nginx.conf
(gzip * directives).