1

I have apache 2.4 running on openSUSE, has been working great for years. A few weeks ago I upgraded from openSUSE 15.0 to 15.1, and suddenly apache would fail to serve static files.

I found that if I set apache to only listen on ipv4, the problem went away.

Some more digging, and now I have enabled port 80 as normal, only listening on ipv4. This works as expected. Then port 81 is listening on ipv6, and here a request will not return anything. Strange thing is, if it is a php page, I DO get a response body from a request, but if it is a static file, nothing. The apache logfile says that the file IS sent, and with the correct size. The browser I'm testing from (on a windows machine), will get all the response headers, but it does NOT receive the response body. The problem is there for any interface that is listening on ipv6, even for access both via ipv4 and ipv6. Interfaces/ports only listening on ipv4 does not expirience this problem.

I am completely lost on this - no idea what the problem can be or how to debug it even further. Anyone having a clue?

-mads

  • Why are you using port 81? Have you tried a different client on another network? What is a URL having the problem? – Michael Hampton Sep 14 '19 at 18:16
  • Testing on port 81, this way all the websites hosted on the server does not experience the problem, as they would if I tested on port 80. Yes, I have tried on different clients from different networks. http://ipv6.palustris.dk:81/images/hosted_by_palustris.dk.png gives the problem, whereas http://palustris.dk/images/hosted_by_palstris.dk.png does not. Even thought these two urls is server by the same virtual host on the same server. – Mads Lie Jensen Sep 14 '19 at 19:16
  • Interesting. I don't get a response from the first URL, not even an ACK from the SYN. The second gives me an Apache 404 error page. I note that they have different IPv6 addresses. Is one of them wrong? – Michael Hampton Sep 14 '19 at 20:02
  • Sorry, second url is missing a character, it should be: palustris.dk/images/hosted_by_palustris.dk.png - this url does NOT listen on ipv6, only ipv4. The first url not accessible, was my firewall - I had only tested the regular ports from outside my own network, and port 81 is open internally here, but not from the outside - until now. – Mads Lie Jensen Sep 15 '19 at 06:43
  • What baffles me the most is that a url like http://ipv6.palustris.dk:81/ will work fine, give me the output I expects. This url is generated by php on the server. But the images required on this page, does not return. I get the headers, but not the image itself. And I have no clue as to why. The server says they are sent, the browser (or curl) never receives them, only the headers. – Mads Lie Jensen Sep 15 '19 at 06:50
  • Now, neither address replies to me. But the addresses are still different. Did you actually go and check them? – Michael Hampton Sep 15 '19 at 06:57
  • I know they where different, but they both was on the same machine. I changed it thougt. port 80 is only available through ipv4, port 81 both on ipv4 and ipv6. So, right now, http://palustris.dk/images/hosted_by_palustris.dk.png will return an image, where as http://palustris.dk:81/images/hosted_by_palustris.dk.png will not. When using curl and force it to use ipv4, all is good, but when using ipv6, no content is returned. This drives me nuts! – Mads Lie Jensen Sep 15 '19 at 19:26

0 Answers0