

The *:80 in the NameVirtualHost and VirtualHost directives match any IPv6 or IPv4 address the server happens to be configured with. Did you notice we didn’t say a word about IPv6 or IPv4 in that configuration? We’re using the fact that Apache knows about IPv6 (assuming you compiled it with IPv6 enabled). There are two little tricks at work here. So if someone accesses, Apache sees that /blog/ is under / and proxies to.


It tells Apache that any access below the site root should be proxied to the address obtained by appending it to the URL listed at right. The really interesting part is the ProxyPass directive. The lines after that are pretty much textbook, copied verbatim from the mod_proxy documentation. The ServerAdmin and ServerName and optionally ServerAlias lines should match the destination IPv4 server’s configuration. The section wrapping is used to limit the proxying to a strictly-defined site this avoids having random people access random sites through your machine (let’s leave that kind of bad behaviour to poor virused, zombied Windows users). Here’s the relevant snippet from a dedicated Apache setup: implement IPv6 in jails myself (this wouldn’t have happened overnight) įinally I found a workaround, using Apache mod_proxy as a separate server to provide a IPv6 frontend (a configuration called reverse proxy).Jails are a fine way to run a virtualized environment but they only support IPv4 at the moment. The first problem I ran into is that my blog runs in a FreeBSD jail. Please consult the Microsoft documentation for more details.In preparation for the impending doom of IPv4, and in order to put my money where my mouth is, I decided to make this blog natively accessible through IPv6. This takes care of translating the information received from reverse proxies or load balancers back into a format ASP.NET Core can understand it.

In almost all cases, these problems can be solved by adding the ForwardedHeaders middleware to you pipeline.
