Closed DonSchenck closed 9 years ago
Hmmmm looking into this. Looks like a regression issue.
Feels odd the blog feed is actually published in the root site, but I think that's deliberate. But until we have concrete plans to add more feeds, I'm inclined to move that file to the blog directory.
I put it in the root because that's where it was in the previous site. I wanted to minimize the number of changes we were making going from old to new d.r.c and lessen the risk. Moving it to the blog dir risks breaking feed clients that aren't good at following redirects.
Unless there's a necessity to move it, I think we should just leave it where it is. An error message in an nginx log file isn't a good reason to move it. Nginx should be changed to look in the appropriate place.
Nginx should be changed to look in the appropriate place.
From looking at https://github.com/rackerlabs/developer.rackspace.com/blob/dev/deploy/prod_web.yml#L103-L124, there is no configuration in nginx that is looking for the file under /blog/atom.xml
. Some client seems to be requesting that URL. The question is: did that URL ever exist on developer.rackspace.com? If so, we should probably redirect it to /atom.xml
.
Can we get a count of how many times that error is appearing in the log from different client IPs?
There might be something else awry here.
Here is a sampling of the logs from all 4 production web servers:
$ ansible prod_webservers -i inventory/site/ -m shell -a 'grep "/blog/atom.xml" /var/log/nginx/error.log | tail -5'
DFW_prod_webserver_2 | success | rc=0 >>
2014/10/10 22:01:36 [error] 896#0: *526063 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:06:42 [error] 896#0: *526241 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:10:37 [error] 896#0: *526354 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:13:52 [error] 896#0: *526439 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:16:42 [error] 896#0: *526542 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
DFW_prod_webserver_1 | success | rc=0 >>
2014/10/10 21:42:41 [error] 896#0: *524760 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 21:57:51 [error] 896#0: *525298 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:00:46 [error] 896#0: *525386 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:12:02 [error] 896#0: *525714 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com", referrer: "http://devops.rackspace.com/atom.xml"
2014/10/10 22:12:59 [error] 896#0: *525757 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.183.248.252, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
IAD_prod_webserver_1 | success | rc=0 >>
2014/10/10 21:31:50 [error] 884#0: *261261 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 21:32:30 [error] 884#0: *261261 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com", referrer: "http://devops.rackspace.com/atom.xml"
2014/10/10 21:59:47 [error] 884#0: *261649 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com", referrer: "https://developer.rackspace.com/blog/atom.xml"
2014/10/10 22:01:52 [error] 884#0: *261695 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:16:07 [error] 884#0: *261866 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
IAD_prod_webserver_2 | success | rc=0 >>
2014/10/10 21:37:39 [error] 880#0: *261029 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 21:39:11 [error] 880#0: *261058 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com", referrer: "http://devops.rackspace.com/atom.xml"
2014/10/10 21:47:51 [error] 880#0: *261166 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 21:50:13 [error] 880#0: *261151 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"
2014/10/10 22:03:13 [error] 880#0: *261344 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com", referrer: "http://devops.rackspace.com/atom.xml"
Notice the referrer on some of them: http://devops.rackspace.com/atom.xml
. So I curl'd that location and got this:
$ curl -v 'http://devops.rackspace.com/atom.xml'
* Hostname was NOT found in DNS cache
* Trying 174.143.186.12...
* Connected to devops.rackspace.com (174.143.186.12) port 80 (#0)
> GET /atom.xml HTTP/1.1
> User-Agent: curl/7.35.0
> Host: devops.rackspace.com
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Fri, 10 Oct 2014 22:18:36 GMT
* Server Apache/2.2.22 (Ubuntu) is not blacklisted
< Server: Apache/2.2.22 (Ubuntu)
< Location: http://developer.rackspace.com/blog/atom.xml
< Vary: Accept-Encoding
< Content-Type: text/html; charset=iso-8859-1
< Content-Length: 338
< Age: 0
< Via: 1.1 540559-DFW1WWSG03.secops.rackspace.com
<
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://developer.rackspace.com/blog/atom.xml">here</a>.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at devops.rackspace.com Port 80</address>
</body></html>
* Connection #0 to host devops.rackspace.com left intact
I'm not sure where http://devops.rackspace.com
is configured to do a redirect to http://developer.rackspace.com/blog
. Investigating...
We could also move our feed to http://developer.rackspace.com/blog/atom.xml and redirect http://developer.rackspace.com/atom.xml to there. I'm a bit concerned about feed readers that can't follow redirects. I'm not sure what the lesser of the two evils is here. At least we have full control over the above.
@everett-toews What if we just left the feed where it is (/atom.xml
) but added an nginx alias from /blog/atom.xml
to /atom.xml
? The HTTP client would receive a 200 for both locations, not a 301 for one of them.
+1
The following error is being reported in the /var/log/nginx/error.log file on developer.rackspace.com nginx webserver1 in IAD:
2014/08/05 23:01:29 [error] 19413#0: *425200 open() "/var/www/html/developer.rackspace.com/blog/atom.xml" failed (2: No such file or directory), client: 10.189.254.9, server: developer.rackspace.com, request: "GET /blog/atom.xml HTTP/1.1", host: "developer.rackspace.com"