En esta entrada se verá como configurar Nginx como proxy SSL/TLS OffLoading de Atlassian JIRA Software, para ello solo es necesario:
- Configurar el conector de Tomcat.
- Configurar Nginx.
Configurar el conector de Tomcat
A continuación se detalla como configurar el conector para admitir conexiones HTTP, además de indicar el método, el host y el puerto que deben usar las aplicaciones que corren dentro del Tomcat al construir URL absolutas.
|
|
Los atributos usados son:
maxThreads
, determina el número máximo de hilos, es decir, el úmero de peticiones simultaneas adminitidas. Valor por defecto 200.minSpareThreads
, determina el número mínimo de hilos que se mantendran en ejecución. Valor por defecto 10.connectionTimeout
, tiempo de espera máximo, medido en milisegundos, desde que se establece la conexión hasta que se recibe la petición. Si se supera el tiempo de espera y no se ha recibido la petición, la conexión será cerrada. Valor por defecto 60.000 (60 segundos).enableLookup
, booleanotrue
/false
para indicar si se desea activar, o no, la resolución de DNS a través de la funciónrequest.getRemoteHost()
.maxHttpHeaderSize
, especifica el tamaño máximo en bytes de la cabecera HTTP para las peticiones y respuestas.protocol
, indica el protocolo aceptado.useBodyEncodingForURI
, especifica si la codificación especificada encontentType
debe utilizarse para los parámatreos de laURI
en lugar de utilizar la codificaciónURIEncoding
.redirectPort
, indica el puerto al que debe ser redirigida la conexión en caso de que el conector no admita conexiones SSL y la conexión entrante sea SSL.acceptCount
, especifica el tamaño máximo de la cola de peticiones. La cola de peticiones comienza a llenarse cuando el número de peticiones supere el número de hilos especificado enmaxThreads
.disableUploadTimeout
, booleano que especifica si un servlet puede utilizar (disable') o no (
true`) un timeout mayor para las subidas de datos.proxyName
yproxyPort
, estos atributos modifican los valores devueltos por los métodosrequest.getServerName()
yrequest.getServerPort()
. Estos métodos son utilizados para construir las URL absolutas de las redirecciones. Si no configura estos valores, los métodos devolveran el host y puerto de la conexión del proxy en lugar de los valores de conexión del cliente.scheme
, modifica el valor (https/https) devuelto por el métodorequest.getScheme()
.
Más información:
- Integrating JIRA with Nginx
- Apache Tomcat 8: Proxy Support HOW-TO
- Apache Tomcat 8 Configuration Reference
Configurar Nginx
A continuación se detalla como configurar Nginx para que funcione como proxy de Jira además de como punto de terminación de cifrado SSL/TLS (SSL/TLS Offloading).
|
|
proxy_pass
, indica el protocolo (http
ohttps
), el servidor, el puerto y lauri
donde se direccionarán las peticiones.proxy_set_header
, permite agregar cabeceras a la petición antes de pasarla al servidor de destino.proxy_connect_timeout
, define el máximo de segundos de espera para establecer la conexión con el servidor de destino antés de dar un timeout.proxy_send_timeout
, define el máximo de segundos de espera para transmitir la petición al servidor, superado este timepo el cliente recibirá un timeout. El timeout solo tiene en cuenta el tiempo de espera entre la transmisión de dos peticiones consecutivas, y no el tiempo de transmisión de una petición al completo.proxy_read_timeout
, define el máximo de segundos de espera para recibir del servidor la respuesta a una petición, superado este tiempo el cliente recibirá un timeout. El timeout solo tiene en cuenta la espera entre la recepción de dos peticiones consecutivas, y no el tiempo de recepción de la respuesta de una petición al completo.send_timeout
, define el máximo de segundos de espera para transmitir la respuesta al cliente, superado este tiempo el cliente recibirá un timeout. El timeout solo tiene en cuenta el tiempo de espera entre la transmisión de dos peticiones consecutivas, no el tiempo de transmisión de una petición al completo.
Más información: