A improved solution based that of @edwindijas:
Known that localhost (and 127.0.0.1) works in the lastest wsl2. Hence the only thing need to do is mapping 127.0.0.1:port
to 0.0.0.0:port
.
Make sure you can run powershell script
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Execute the following PowerShell scripts in Administrator mode one time can solve the problem. Needn't autostart and execute every time when login.