[OpenSRF-GIT] OpenSRF branch rel_3_0 updated. osrf_rel_3_0_1-4-g7866a18
Evergreen Git
git at git.evergreen-ils.org
Mon Nov 5 11:44:40 EST 2018
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "OpenSRF".
The branch, rel_3_0 has been updated
via 7866a18c7455f8243e9f1076ebdff230f5905357 (commit)
from 7d144fbdb50b3d91c8fd9429f35838b37f3cd83c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7866a18c7455f8243e9f1076ebdff230f5905357
Author: Bill Erickson <berickxx at gmail.com>
Date: Mon Aug 27 10:12:57 2018 -0400
LP#1684970 Translator compatible with mod_remoteip
Teach the OSRF Translator to request the IP address of the user agent
(e.g. web browser) instead of the IP address of the up stream client,
which may be a proxy, using the Apache 2.4 request_rec->useragent_ip
value.
http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html
This make is possible for the translator to access the client IP with
Apache's mod_remoteip enabled and configured.
Includes sample config and install documentation.
Signed-off-by: Bill Erickson <berickxx at gmail.com>
Signed-off-by: Galen Charlton <gmc at equinoxinitiative.org>
diff --git a/README b/README
index 70c5dbe..b00a76b 100644
--- a/README
+++ b/README
@@ -520,6 +520,23 @@ export OSRF_WEBSOCKET_MAX_REQUEST_WAIT_TIME=600
/etc/init.d/apache2-websockets start
---------------------------------------------------------------------------
+Optional: Using a web proxy (Apache 2.4 and above)
+--------------------------------------------------
+When the OpenSRF HTTP Translator runs behind a proxy, Apache must be
+configured to read the IP address of the originating client instead
+of the proxy IP address.
+
+1. Enable mod_remoteip
++
+[source,bash]
+---------------------------------------------------------------------------
+sudo a2enmod remoteip
+---------------------------------------------------------------------------
++
+2. Enable remote IP settings by uncommenting and modifying as needed the
+Apache configuration variables starting with RemoteIP* in the sample Apache
+configuration file opensrf.conf.
+
Optional: Using NGINX as a proxy
--------------------------------
NGINX can be used to proxy HTTP, HTTPS, and WebSockets traffic. Among other
diff --git a/examples/apache2/opensrf.conf b/examples/apache2/opensrf.conf
index 2989dc0..1d5e6bb 100644
--- a/examples/apache2/opensrf.conf
+++ b/examples/apache2/opensrf.conf
@@ -41,6 +41,16 @@ NameVirtualHost *:80
# OpenSRF-over-HTTP translator
# (http://open-ils.org/dokuwiki/doku.php?id=opensrf_over_http)
# ----------------------------------------------------------------------------------
+
+ # OPTIONAL: Running the translator behind a proxy requires accessing
+ # the client IP address via mod_remoteip (sudo a2enmod remoteip).
+ # Below is a sample configuration for a proxy running on the same
+ # server and passing the client IP address via the X-Real-IP header.
+ #
+ #RemoteIPInternalProxy 127.0.0.1/24
+ #RemoteIPInternalProxy ::1
+ #RemoteIPHeader X-Real-IP
+
<Location /osrf-http-translator>
SetHandler osrf_http_translator_module
allow from all
diff --git a/src/gateway/osrf_http_translator.c b/src/gateway/osrf_http_translator.c
index 789aaae..ec8a685 100644
--- a/src/gateway/osrf_http_translator.c
+++ b/src/gateway/osrf_http_translator.c
@@ -119,7 +119,7 @@ static osrfHttpTranslator* osrfNewHttpTranslator(request_rec* apreq) {
trans->connecting = 0;
trans->disconnecting = 0;
#ifdef APACHE_MIN_24
- trans->remoteHost = apreq->connection->client_ip;
+ trans->remoteHost = apreq->useragent_ip;
#else
trans->remoteHost = apreq->connection->remote_ip;
#endif
-----------------------------------------------------------------------
Summary of changes:
README | 17 +++++++++++++++++
examples/apache2/opensrf.conf | 10 ++++++++++
src/gateway/osrf_http_translator.c | 2 +-
3 files changed, 28 insertions(+), 1 deletions(-)
hooks/post-receive
--
OpenSRF
More information about the opensrf-commits
mailing list