Getting this error:
Your server is located in a private IP address space. Amazon Web Services cannot fetch the file that is required to validate the access key.
Could not find the slightest hint about how to even start resolving the problem…
This plugin still needs work
I’m sorry you’re having trouble getting started. Indeed your question is not in the FAQ (yet), but there is detailed information about this on the plugin homepage.
The error message means you are running the blog on something like
localhost. AWS needs to get an XML file from your server, obviously that is impossible when it’s not located on a server that can be accessed with a public IP address from the outside.
I have the same error, but I believe I am on a public IP.
ed4becky.dnsalias.org/jupiterthree is my dynamic site.
I map ed4becky.org/jupiterthree to it and map jupiterthree.com to ed4becky.org/jupiterthree.
I get a cannot fetch error like above.
Suggested trouble shooting approach?
@ed4becky: you confused me with that mapping orgy… Anyway, does that mean you are using WordPress MU, or the single install of WordPress? Recently I tried to use my plugin on a MU site, and I had a similar error. However, there were none with ordinary WordPress installs.
I am not ssure what you men by MU.
It is a single install on my own server sitting in my home.
As I said, your server needs to be connected to the Internet on a domain so that Amazon can fetch the XSL file. If you run your own server at
localhostthat is not possible. In the meantime I changed the error messages so that they give a more detailed feedback on the cause of the error. Still you need to run the plugin on a real web server with an IP address and DNS entry connected to a domain.
The problem here is the simple-minded function
amtap.php, which blindly assumes that private range IPs aren’t accessible from the internet. This may be true for
localhost(the function checks for IP’s starting with 127), but it is not necessarily true for e.g. 10.x.x.x or 192.168.x.x IPs (which it also checks for), because they may be behind a NAT firewall (as mine is, for example). This is perfectly okay by internet standards.
If you know PHP you can just bypass this test by hardcoding
$bIsLocalto false, although that’s a very quick and dirty solution. (More elegant might be to get the hostname and look up the public IP, but even that won’t work if your web server is hosting virtual domains.)
I made this change and have (apparently) no problem with accessing the AWS information. Of course it might help to know just what file Amazon wants to access so that we can check ourselves (via a browser or wget) if it’s accessible.
@alastairmayer Well, I took the private IP ranges as defined by the HTTP spec. That wasn’t for simplicity, but the most logical choice. By definition those IP addresses aren’t unique or in a registry, so I wonder how Amazon could look those up and resolve them to your server?
The affected files are the XSL files. This was a very common error until I implemented this message as people often test-installed the plugin locally where no access was possible for the Amazon API. The reason for this approach is that Amazon can transform the results; I thought that is more reliable and reproducable than relying on an XSL transformation on a users’ server where the environment and processor is unknown.
Hi I get this error on a normal web server, sure it’s a shared host.
is it possible to disable the test? I can’t see any tags now
- The topic ‘[Plugin: Amazon Machine Tags] Error’ is closed to new replies.