Version 4.4.10

Version 4.4.10 of mod_wsgi can be obtained from:

For details on the availability of Windows binaries see:

Bugs Fixed

1. Fixed a reference counting bug which would cause a daemon process to crash if both home and python-path options were specified at the same time with the WSGIDaemonProcess directive.

2. When using --https-only option with mod_wsgi-express, the redirection from the http address to the https address was not setting the correct port for https.

Features Changed

1. Changed the default Apache log level for mod_wsgi-express to warn instead of info. This has been done avoid very noisy logs when enabling secure HTTP connections. To set back to info level use the --log-level option.

2. When specifying a service script with the --service-script option of mod_wsgi-express, the home directory for the process will now be set to the same home directory as used for the hosted WGSI application. Python modules from the WSGI application will therefore be automatically found when imported. Any directory paths added using --python-path option will also be added as search directories for Python module imports, with any .pth files in those directories also being handled. In addition, the language locale and Python eggs directory used by the hosted WSGI application will also be used for the service script.

3. When specifying --python-path option, when paths are now setup for the WSGI application, they will be added in such a way that they appear at the head of sys.path and any .pth files in those directories are also handled.

New Features

1. Added the --directory-listing option to mod_wsgi-express to allow automatic directory listings to be enabled when using the static file application type and no explicit directory index file has been specified.

2. In addition to the convenience function of --ssl-certificate for mod_wsgi-express, which allowed the SSL certificate and private key file to be specified using one option by specifying the command file name up to the extension, separate --ssl-certificate-file and --ssl-certificate-key-file options are now also provided. These would either both need to be specified, or the existing --ssl-certificate option used, when specifying that secure HTTPS connections should be used through having specified --https-port.

3. Added the --ssl-ca-certificate-file option to mod_wsgi-express. If specified this should give the location of the file with any CA certificates to be used for client authentication. As soon as this option is provided, the client authentication will be required for the whole site. This would generally be used in conjunction with the --https-only option so that only a secure communication channel is being used.

If you do not wish for the whole site to required client authentication, you can use the --ssl-verify-client option to specify sub URLs for which client authentication should be performed.

4. Added the --ssl-environment option to mod_wsgi-express to enable the passing of standard SSL variables in the WSGI environ dictionary passed to the WSGI application.

5. Added the WSGITrustedProxies directive and corresponding option of --trust-proxy to mod_wsgi-express. This works in conjunction with the WSGITrustedProxyHeaders directive and --trust-proxy-header option of mod_wsgi-express. When trusted proxies are specified, then proxy headers will only be trusted if the request originated with a trusted proxy. Further, any IP addresses corresponding to a proxy listed in the X-Forwarded-For header will only be trusted if specified. When determining the value for REMOTE_ADDR the IP preceding the last recognised proxy the request passed through will be used and not simply the first IP listed in the header. The header will be rewritten to reflect what was honoured with client IPs of dubious origin discarded.