Use IPv4 on WSL machines (#2729)
WSL has issues when handling IPv6 ips. In order to resolve this, on dev machines, we now check if it's a WSL environment. If yes, we default to using IPv4 instead of IPv6.
This commit is contained in:
parent
4c393f0f1f
commit
51ccd19081
|
|
@ -64,23 +64,17 @@ network_mode="bridge"
|
|||
case "${uname_out}" in
|
||||
Linux*) machine=Linux
|
||||
|
||||
proc_version="$(cat /proc/version)"
|
||||
case "$proc_version" in
|
||||
*icrosoft*)
|
||||
source ../util/is_wsl.sh
|
||||
if [ $IS_WSL ]; then
|
||||
# ignore to continue using host.docker.internal
|
||||
;;
|
||||
*WSL*)
|
||||
# ignore to continue using host.docker.internal
|
||||
;;
|
||||
*)
|
||||
else
|
||||
network_mode="host"
|
||||
client_proxy_pass=$default_linux_client_proxy
|
||||
# if no server was passed
|
||||
if [[ -z $1 ]]; then
|
||||
server_proxy_pass=$default_linux_server_proxy
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
echo "
|
||||
Starting nginx for Linux...
|
||||
"
|
||||
|
|
|
|||
|
|
@ -10,4 +10,9 @@ if [[ -f .env ]]; then
|
|||
source .env
|
||||
fi
|
||||
|
||||
source ../util/is_wsl.sh
|
||||
if [ $IS_WSL ]; then
|
||||
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true $_JAVA_OPTIONS"
|
||||
fi
|
||||
|
||||
(cd dist && exec java -jar server-*.jar)
|
||||
|
|
|
|||
13
app/util/is_wsl.sh
Executable file
13
app/util/is_wsl.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
IS_WSL=
|
||||
|
||||
proc_version="$(cat /proc/version)"
|
||||
case "$proc_version" in
|
||||
*icrosoft*)
|
||||
IS_WSL=true
|
||||
;;
|
||||
*WSL*)
|
||||
IS_WSL=true
|
||||
;;
|
||||
esac
|
||||
44
app/util/is_wsl_test.sh
Executable file
44
app/util/is_wsl_test.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
distro=
|
||||
|
||||
cat() {
|
||||
echo $distro
|
||||
}
|
||||
|
||||
fail() {
|
||||
local reason=$1
|
||||
|
||||
echo "${reason}
|
||||
context: ${distro}"
|
||||
|
||||
exit 1
|
||||
}
|
||||
|
||||
stub_distro() {
|
||||
local name=$1
|
||||
|
||||
distro=$name
|
||||
source $DIR/is_wsl.sh
|
||||
}
|
||||
|
||||
stub_distro "Linux Computer 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"
|
||||
if [ ! $IS_WSL ]; then
|
||||
fail "Failed: Detected lack of WSL where it should have."
|
||||
fi
|
||||
|
||||
stub_distro "Linux Computer 4.19.104-WSL-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"
|
||||
if [ ! $IS_WSL ]; then
|
||||
fail "Failed: Detected lack of WSL where it should have."
|
||||
fi
|
||||
|
||||
stub_distro "Linux pop-os 5.3.0-22-generic #24+system76~1573659475~19.04~26b2022-Ubuntu SMP Wed Nov 13 20:0 x86_64 x86_64 x86_64 GNU/Linux"
|
||||
if [ $IS_WSL ]; then
|
||||
fail "Failed: Detected WSL where it shouldn't have."
|
||||
fi
|
||||
|
||||
echo "All Tests Pass!"
|
||||
Loading…
Reference in New Issue
Block a user