¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.
Proxy inverso
|
Proxy inverso. Es un servidor proxy que funciona en representación de un servidor. Un servidor proxy inverso toma de peticiones de los navegadores web en todo el Internet, dichas solicitudes generan una respuesta de vuelta al servidor proxy inverso, que luego se remitirá al navegador web. Por ejemplo , una solicitud para obtener información de productos en una tienda en línea va a un servidor de imágenes que almacena imágenes del producto, así como el servidor de base de datos , que almacena el precio actual , el inventario y la descripción del artículo.
Sumario
[ocultar]Ventajas
- Las peticiones pueden mapearse y ser pasadas a múltiples contenedores Servlet - esto hace el sistema más flexible y facilita la ejecución de múltiples instancias de DHIS en el mismo servidor. También posibilita que se cambie la configuración interna del servidor sin que ello repercuta a los clientes.
- La aplicación DHIS puede funcionar como un usuario no root en un puerto distinto del 80, lo que limita las consecuencias de un ataque de suplantación de sesión.
- El proxy inverso puede funcionar como un solo servidor SSL y se puede configurar para inspeccionar las peticiones en busca de contenido malicioso, peticiones y respuestas de log y también proporcionar mensajes de error no sensibles mejorando la seguridad en general.
Seguridad
Mejora un servidor proxy inverso en gran medida la seguridad de un sitio web, ya que ninguno de los servidores se accede directamente a Internet, mientras que el propietario del sitio web no pone las aplicaciones críticas, tales como el correo electrónico y la nómina en el servidor proxy inverso, otros servidores y aplicaciones son seguros.
Por ejemplo, un hacker quiere sustituir la imagen de un producto con y cambia el precio del producto a un centavo, ni el servidor de imágenes, ni el servidor de base de datos de producto pueden ser tocados directamente por los usuarios en Internet. Dado que el servidor proxy inverso y el sitio web no están diseñadas para que los usuarios actualicen imágenes de los productos o de los precios, el hacker probablemente no tendrá éxito en hacer lo que él quiere.
Ejemplos de Configuración de un proxy inverso con Nginx
/etc/nginx/nginx.conf
user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
/etc/nginx/sites-enabled/default
server { listen 80; location / { root /var/www/nginx-default; index index.html; error_page 404 /index.html; } } server { listen 443; access_log /var/log/nginx/access.log; keepalive_timeout 22; ssl on; ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; ssl_session_timeout 30m; location / { root /var/www/nginx-default; index index.html; error_page 404 /index.html; } }
/etc/nginx/conf.d/proxy.conf
# configuraciones globales para proxy inverso proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_intercept_errors on; proxy_connect_timeout 12s; proxy_send_timeout 90s; proxy_read_timeout 90s; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; client_body_buffer_size 128k; client_max_body_size 600M;
/etc/nginx/sites-enabled/correo
# ejemplo de cluster roundrobind server { listen 80; server_name correo.midominio; rewrite ^(.*) https://$host$1 permanent; } # aqui definimos el cluster de los nodos upstream appclustercorreo { server 12.0.0.30 fail_timeout=20; server 12.0.0.31 fail_timeout=20; } server { listen 443; server_name correo.midominio; access_log /var/log/nginx/access.log; keepalive_timeout 22; ssl on; ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; ssl_client_certificate /etc/nginx/ssl/cacert.pem; ssl_session_timeout 30m; location / { proxy_pass http://appclustercorreo; # hacemos la llamada al nombre que definimos en el cluster de nodos proxy_set_header Host correo.midominio;; error_page 500 502 503 504 /50x.html; } location = /50x.html { root /var/www/nginx-default; } }
Fuentes
- http://nginx.org
- Artículo Configuración de proxy inverso. Disponible en: "https://www.dhis2.org" Consultado el 30 de noviembre de 2014
- Artículo Nginx como Proxy Reverso en servidor Directadmin. Disponible en: "http://www.tail-f.com.ar" Consultado el 30 de noviembre de 2014
- Artículo Integración de servidores web: Proxy inverso con nginx y apache. Disponible en: "http://only19.wordpress.com" Consultado el 30 de noviembre de 2014
- Artículo Definición de un servidor proxy inverso. Disponible en: "http://ordenador.wingwit.com" Consultado el 30 de noviembre de 2014