Doesn't WASM interface with a JS/WASM VM, which is then responsible for interfacing with the OS? There are plenty of POSIX compatible VMs, including V8, the Chrome engine.
The "posix" needs to be on the other side. Things like v8 use a posix interface for interacting with the OS. However they don't provide a posix interface the code which is running inside the VM.
I think what was needed was that someone implemented posix APIs inside webassembly, by delegating to the javascript APIs that e.g. node.js provides, or by building a native module that proxies those calls.
Sorry for being confused. Isn't Nginx coded for a POSIX system? Or did they specifically port it to WASM (with its own interface)