Kyle M Hall
a6838a3e35
Koha has a number of features that rely on knowing the IP address of the connecting client. If that server is behind a proxy these features do not work. This patch adds a module to automatically convert the X-Forwarded-For header into the REMOTE_ADDR environment variable for both CGI and Plack processes. TEST PLAN: 1) Apply this patch set 2) Install Plack::Middleware::RealIP via cpanm or your favorite utility 3) Update your plack.psgi with the changes you find in this patch set ( this process differs based on your testing environment ) 4) Restart plack 5) Tail the plack error log for your instance 6) Use curl to access the OPAC, adding an X-Forwarded-For header: curl --header "X-Forwarded-For: 32.32.32.32" http://127.0.0.1:8080 7) Note the logs output this address if you are unproxied 8) If you are proxied, restart plack using a command like below, where the ip you see in the logs ("REAL IP) is what you put in the koha conf: <koha_trusted_proxies>172.22.0.1 1.1.1.1</koha_trusted_proxies> 9) Restart all the things! 10) Repeat step 6 11) You should now see "REAL IP: 32.32.32.32" in the plack logs as the remote address in your plack-error.log logs! 12) Disable plack so you are running in cgi mode, repeat step 6 again 13) You should see "REAL IP: 32.32.32.32" as the remove address in your opac-error.log logs! Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Ed Veal <eveal@mckinneytexas.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> |
||
---|---|---|
.. | ||
pazpar2 | ||
searchengine | ||
z3950 | ||
zebradb | ||
koha-conf.xml | ||
koha-httpd.conf | ||
log4perl.conf | ||
README.txt | ||
SIPconfig.xml |
Koha Configuration Files: The following files specify the base configuration for Koha ZOOM: * koha-httpd.conf In a debian system, this apache configuration file will be symlinked from /etc/apache2/sites-enabled Specify Koha's IP address with NameVirtualHost Set ServerName, etc * koha-production.xml * koha-testing.xml These are the production and testing configurations for zebrasrv and for Koha. The first part of each file specifies Zebra server names, indexing configuration files, and query language configurations. Koha configuration directives follow. * zebra-authorities.cfg * zebra-biblios.cfg