Bug 1168036 - Requests made to the nginx router at '/' are forwarded to the first configured HA application
Summary: Requests made to the nginx router at '/' are forwarded to the first configure...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Node
Version: 2.2.0
Hardware: x86_64
OS: Linux
high
medium
Target Milestone: ---
: ---
Assignee: chris alfonso
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-11-25 22:55 UTC by Timothy Williams
Modified: 2018-12-09 19:15 UTC (History)
8 users (show)

Fixed In Version: rubygem-openshift-origin-routing-daemon-0.20.2.4-1.el6op
Doc Type: Bug Fix
Doc Text:
In OpenShift Enterprise environments using the routing daemon with an Nginx router, requests made to the router at '/' were forwarded to the first configured high-availability application. This was due to a bug in the routing daemon. This bug fix updates the routing daemon to ensure such requests instead return a 404 status, and the requests are no longer incorrectly forwarded.
Clone Of:
Environment:
Last Closed: 2014-12-10 13:25:33 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:1979 0 normal SHIPPED_LIVE Red Hat OpenShift Enterprise 2.2.2 bug fix and enhancement update 2014-12-10 18:23:46 UTC

Description Timothy Williams 2014-11-25 22:55:06 UTC
Description of problem:
With an HA openshift environment where nginx and the openshift-routing-daemon are utilized, requests made to the router at '/' are forwarded to the first configured application.

Version-Release number of selected component (if applicable):
OSE 2.2.0
rubygem-openshift-origin-routing-daemon-0.17.1.4-1.el6op.noarch

How reproducible:
Always

Steps to Reproduce:
1. Configure an OSE environment with an nginx load balancer and the openshift-routing-daemon.
2. Make a requests to the load balancer's host name
3.

Actual results:
For this example, the load balancer's host name is 'router.rosetta.com'. I set the <title> tag of every application in the env to the application's name:

[root@dns ~]# curl -IL router.rosetta.com
HTTP/1.1 200 OK
Server: nginx/1.6.1
Date: Tue, 25 Nov 2014 22:53:43 GMT
Content-Type: text/html
Content-Length: 39592
Connection: keep-alive
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.21
Status: 200
Set-Cookie: GEAR=local-5474e38fe986407bbd000065; path=/
Cache-control: private

[root@dns ~]# curl router.rosetta.com -s | grep title
  <title>test10</title>

Expected results:
404 or 200 on ngix test page

Additional info:

Comment 2 chris alfonso 2014-11-26 18:15:27 UTC
Fixed upstream, opened PR.
https://github.com/openshift/origin-server/pull/5984

Will merge to enterprise-server.

Comment 7 Johnny Liu 2014-11-27 05:56:20 UTC
Verified this bug with rubygem-openshift-origin-routing-daemon-0.20.2.4-1.el6op.noarch, and PASS.


1. After create a scalable app, the following conf file are built.

# cat server.conf 


ssl_certificate /etc/pki/tls/certs/node.example.com.crt;
ssl_certificate_key /etc/pki/tls/private/node.example.com.key;




server {
  listen 80 default_server;
  server_name _;
  location / {
    return 404;
  }
}

server {
  listen 443 ssl default_server;
  server_name _;
  location / {
    return 404;
  }
}


$ curl http://<nginx-host>/
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.6.1</center>
</body>
</html>

Comment 9 errata-xmlrpc 2014-12-10 13:25:33 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2014-1979.html


Note You need to log in before you can comment on or make changes to this bug.