Troubleshooting / System Cannot Be Accessed from the External Network
The system itself is running normally, but when it cannot be accessed externally, it is usually a network issue.
Specifically:
- On the deployment server itself,
curl -i http://127.0.0.1:8088returns302redirect information:
| HTTP | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
- On the deployment server itself,
curl http://127.0.0.1:8088/api/v1/do/pingreturns200with normal data:
| HTTP | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
- On other devices,
curl -i http://{server-address}:8088receives no response, or directly returns connection refused.
When such a problem occurs, it is mostly a network issue and has nothing to do with DataFlux Func itself.
The following is only a record of some possible solutions.
1. Incorrect IP / Domain Name Resolution
On another device, try to ping the server where DataFlux Func is located to confirm whether the IP address and domain name are correct.
This can be solved by modifying DNS or /etc/hosts configuration. The exact method depends on the actual network conditions.
2. Incorrect Firewall / Security Configuration
Including but not limited to:
- Incorrect firewall configuration
- Incorrect Alibaba Cloud ECS security group configuration
- Incorrect reverse proxy server or Alibaba Cloud SLB configuration
First, check the port exposed by the current deployment:
| Bash | |
|---|---|
1 | |
The output is:
| Text Only | |
|---|---|
1 | |
{exposed-port} defaults to 8088
Check and modify the network environment to allow external access to the server's port.
3. Conflict Between the Local Network and the Automatically Created ingress Subnet
You can use the following command to check:
| Bash | |
|---|---|
1 | |
Check whether the IPAM.Config.Subnet value is the same as the local network:
| JSON | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
If they overlap, you can modify it in the following ways:
- Stop DataFlux Func
- Delete the existing network:
sudo docker network rm ingress - Recreate the network:
docker network create --driver overlay --ingress --subnet 10.255.0.0/16 --gateway 10.255.0.1 ingress -
Start DataFlux Func
- Reference documentation: Customizing the Docker ingress network
4. Missing Kernel Forwarding Configuration
This problem has been found on CentOS systems, but in most cases it has not been encountered.
You can check the forwarding configuration in the following ways:
| Bash | |
|---|---|
1 | |
- If the above command returns
1, forwarding is already enabled. - Otherwise, you can enable the forwarding configuration as follows:
| Bash | |
|---|---|
1 | |