mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-19 02:44:17 +03:00
Added Apache Tomcat proxy to new Apache upstart service
svn path=/nixos/branches/fix-style/; revision=14162
This commit is contained in:
parent
2e4c1b138f
commit
46f1cab80f
91
upstart-jobs/apache-httpd/tomcat-connector.nix
Normal file
91
upstart-jobs/apache-httpd/tomcat-connector.nix
Normal file
@ -0,0 +1,91 @@
|
||||
{config, pkgs, serverInfo}:
|
||||
|
||||
let
|
||||
workersProperties = pkgs.writeText "workers.properties" ''
|
||||
# Define list of workers that will be used
|
||||
# for mapping requests
|
||||
# The configuration directives are valid
|
||||
# for the mod_jk version 1.2.18 and later
|
||||
#
|
||||
worker.list=loadbalancer,status
|
||||
|
||||
# Define Node1
|
||||
# modify the host as your host IP or DNS name.
|
||||
worker.node1.port=8009
|
||||
worker.node1.host=localhost
|
||||
worker.node1.type=ajp13
|
||||
worker.node1.lbfactor=1
|
||||
|
||||
# Load-balancing behaviour
|
||||
worker.loadbalancer.type=lb
|
||||
worker.loadbalancer.balance_workers=node1
|
||||
|
||||
# Status worker for managing load balancer
|
||||
worker.status.type=status
|
||||
'';
|
||||
in
|
||||
{
|
||||
extraModules = [
|
||||
{ name = "jk"; path = "${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
|
||||
];
|
||||
|
||||
extraConfig = ''
|
||||
# Where to find workers.properties
|
||||
JkWorkersFile ${workersProperties}
|
||||
|
||||
# Where to put jk logs
|
||||
JkLogFile ${config.logDir}/mod_jk.log
|
||||
|
||||
# Set the jk log level [debug/error/info]
|
||||
JkLogLevel info
|
||||
|
||||
# Select the log format
|
||||
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
|
||||
|
||||
# JkOptions indicates to send SSK KEY SIZE
|
||||
# Note: Changed from +ForwardURICompat.
|
||||
# See http://tomcat.apache.org/security-jk.html
|
||||
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
|
||||
|
||||
# JkRequestLogFormat
|
||||
JkRequestLogFormat "%w %V %T"
|
||||
|
||||
# Mount your applications
|
||||
JkMount /__application__/* loadbalancer
|
||||
|
||||
# You can use external file for mount points.
|
||||
# It will be checked for updates each 60 seconds.
|
||||
# The format of the file is: /url=worker
|
||||
# /examples/*=loadbalancer
|
||||
#JkMountFile uriworkermap.properties
|
||||
|
||||
# Add shared memory.
|
||||
# This directive is present with 1.2.10 and
|
||||
# later versions of mod_jk, and is needed for
|
||||
# for load balancing to work properly
|
||||
# Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to
|
||||
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452
|
||||
JkShmFile ${config.stateDir}/jk.shm
|
||||
|
||||
# Static files in all Tomcat webapp context directories are served by apache
|
||||
JkAutoAlias /var/tomcat/webapps
|
||||
|
||||
# All requests go to worker by default
|
||||
JkMount /* loadbalancer
|
||||
# Serve some static files using httpd
|
||||
JkUnMount /*.html loadbalancer
|
||||
JkUnMount /*.jpg loadbalancer
|
||||
JkUnMount /*.gif loadbalancer
|
||||
JkUnMount /*.css loadbalancer
|
||||
JkUnMount /*.png loadbalancer
|
||||
JkUnMount /*.js loadbalancer
|
||||
|
||||
# Add jkstatus for managing runtime data
|
||||
<Location /jkstatus/>
|
||||
JkMount status
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.1
|
||||
</Location>
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue
Block a user