internal added content lookups fail if using non-standard port
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The internal lookups of added content done in OpenILS/
can fail in setups where Apache sits behind a proxy and listens to a port other than 80 (as is increasingly possible given the advent of the recommendation to use NGINX or HAProxy in front of the main and WebSockets Apache instances.
Such failures can show up in logs like this:
[2017-05-17 09:35:00] /usr/sbin/apache2 [INFO:13171:
This should be corrected so that in addition to feeding the value of $ENV{SERVER_ADDR} to Net::HTTP::NB, $ENV{SERVER_PORT} is passed along as well (via PeerPort). We might also want to give admins the ability to configure the server port to use directly, e.g., to allow internal lookups to go over HTTP rather than HTTPS.
Evergreen 2.12+
Changed in evergreen: | |
milestone: | none → 2.12.2 |
Changed in evergreen: | |
status: | New → Confirmed |
assignee: | nobody → Bill Erickson (berick) |
Changed in evergreen: | |
assignee: | nobody → Bill Erickson (berick) |
Changed in evergreen: | |
milestone: | 2.12.2 → 2.12.3 |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
It looks like supporting HTTPS for internal added content lookups will require adding Net::HTTPS::NB as a new dependency. I propose we continue with the assumption that internal lookups will be HTTP-only and go straight to supporting the admin config option (instead of $ENV{SERVER_PORT}).
Something like:
$port = $self-> apache- >dir_config( 'OILSWebInterna lHTTPPort' ) || 80;