Description
I’m running into an issue very similar to this thread, but using AWS ECS w/ Application Load balancer to route traffic to my cluster:
When I connect to the EC2 instance hosting the service I don’t have issues, but switching to the load balancer I get this:
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/helpers.py", line 392, in connect_to_custom
return __connect(client)
^^^^^^^^^^^^^^^^^
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/helpers.py", line 401, in __connect
raise e
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/helpers.py", line 397, in __connect
client.connect()
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/client.py", line 287, in connect
self._connection.connect(self.__skip_init_checks)
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/v4.py", line 711, in connect
super().connect(skip_init_checks)
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/v4.py", line 150, in connect
self._weaviate_version = _ServerVersion.from_string(self.get_meta()["version"])
^^^^^^^^^^^^^^^
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/connect/v4.py", line 599, in get_meta
res = _decode_json_response_dict(response, "Meta endpoint")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ec2-user/miniconda3/envs/flaskenv/lib/python3.11/site-packages/weaviate/util.py", line 943, in _decode_json_response_dict
raise UnexpectedStatusCodeError(location, response)
weaviate.exceptions.UnexpectedStatusCodeError: Meta endpoint! Unexpected status code: 400, with response body: None.
Here’s my connection setup:
weaviate.connect_to_custom(
http_host="internal-my-alb.elb.amazonaws.com",
http_port=80,
http_secure=False,
grpc_host="internal-my-alb.elb.amazonaws.com",
grpc_port=50051,
grpc_secure=False,
skip_init_checks=False
)
I’m using a self-signed cert through AWS Managed Certificates with a https listener that just forwards the traffic to the http/grpc service. Has anyone else ran into this issue? I tried using the environment variables with the cert but didn’t get any luck.
Server Setup Information
- Weaviate Server Version: 1.24.13
- Deployment Method: Docker on ECS
- Multi Node? Number of Running Nodes: 1
- Client Language and Version: 4.6.4
- Multitenancy?: Yes
Any additional Information
I don’t have any issues using curl and grpcurl to hit my service, only when I try to create the client is when I start running into issues.