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> |
||
---|---|---|
.. | ||
apache-shared-disable.conf | ||
apache-shared-intranet-plack.conf | ||
apache-shared-intranet.conf | ||
apache-shared-opac-plack.conf | ||
apache-shared-opac.conf | ||
apache-shared.conf | ||
apache-site-https.conf.in | ||
apache-site.conf.in | ||
koha-common.conf | ||
koha-conf-site.xml.in | ||
koha-sites.conf | ||
log4perl-site.conf.in | ||
marc21-retrieval-info-auth-dom.xml | ||
marc21-retrieval-info-bib-dom.xml | ||
normarc-retrieval-info-auth-dom.xml | ||
normarc-retrieval-info-bib-dom.xml | ||
plack.psgi | ||
SIPconfig.xml | ||
unimarc-retrieval-info-auth-dom.xml | ||
unimarc-retrieval-info-bib-dom.xml | ||
zebra-authorities-dom-site.cfg.in | ||
zebra-biblios-dom-site.cfg.in | ||
zebra.passwd.in |