# SSL Verification failure

**URL:** https://forum.weaviate.io/t/ssl-verification-failure/3428
**Category:** Support
**Created:** [August 22, 2024, 4:14am UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428 "2024-08-22T04:14:44Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Khorppun\_Sontipanya](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/khorppun_sontipanya/32/660_2.png) [@Khorppun\_Sontipanya](https://forum.weaviate.io/u/Khorppun_Sontipanya)
#### Post date: [August 22, 2024, 4:14am UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/1 "2024-08-22T04:14:44Z")

</div>

Hello, I am a beginner trying out Weaviate. However, when I ran a simple code, I encountered an error that I think is related to the SSL Certificate. I would like to know how to fix this issue, and whether Weaviate has a method to disable SSL verification. (I have updated the certifi library in Python.)

Thank You

This is my code:

 ![Capture](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/a/a5ff9b0d132bd307b9566cb69c847d23ea834ad4.jpeg)

This is result with error:

status\_weaviate : True  
Hello  
E0822 10:59:44.842000000 5040 src/core/tsi/ssl\_transport\_security.cc:1654] Handshake failed with fatal error SSL\_ERROR\_SSL: error:1000007d:SSL routines:OPENSSL\_internal:CERTIFICATE\_VERIFY\_FAILED.  
Traceback (most recent call last):  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\weaviate\collections\grpc\query.py”, line 762, in \_\_call  
res = await self.\_connection.grpc\_stub.Search(  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\grpc\aio\_call.py”, line 318, in **await**  
raise \_create\_rpc\_error(  
grpc.aio.\_call.AioRpcError: \<AioRpcError of RPC that terminated with:  
status = StatusCode.UNAVAILABLE  
details = “failed to connect to all addresses; last error: UNKNOWN: ipv4:34.98.85.103:443: Ssl handshake failed: SSL\_ERROR\_SSL: error:1000007d:SSL routines:OPENSSL\_internal:CERTIFICATE\_VERIFY\_FAILED”  
debug\_error\_string = “UNKNOWN:Error received from peer {created\_time:“2024-08-22T03:59:45.0595101+00:00”, grpc\_status:14, grpc\_message:“failed to connect to all addresses; last error: UNKNOWN: ipv4:34.98.85.103:443: Ssl handshake failed: SSL\_ERROR\_SSL: error:1000007d:SSL routines:OPENSSL\_internal:CERTIFICATE\_VERIFY\_FAILED”}”

> 

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\test\_weaviate.py”, line 36, in   
response = jeopardy.query.hybrid(  
^^^^^^^^^^^^^^^^^^^^^^  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\weaviate\syncify.py”, line 23, in sync\_method  
return \_EventLoopSingleton.get\_instance().run\_until\_complete(  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\weaviate\event\_loop.py”, line 40, in run\_until\_complete  
return fut.result()  
^^^^^^^^^^^^  
File “C:\Users\KHORPPUN\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py”, line 456, in result  
return self.\_\_get\_result()  
^^^^^^^^^^^^^^^^^^^  
File “C:\Users\KHORPPUN\AppData\Local\Programs\Python\Python312\Lib\concurrent\futures\_base.py”, line 401, in \_\_get\_result  
raise self.\_exception  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\weaviate\collections\queries\hybrid\query.py”, line 107, in  
hybrid  
res = await self.\_query.hybrid(  
^^^^^^^^^^^^^^^^^^^^^^^^^  
File “C:\software\_dev\_flook\KM\_AI\KM-AI-V0-main\myenv\Lib\site-packages\weaviate\collections\grpc\query.py”, line 769, in \_\_call  
raise WeaviateQueryError(str(e), “GRPC search”) # pyright: ignore  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
weaviate.exceptions.WeaviateQueryError: Query call with protocol GRPC search failed with message \<AioRpcError of RPC that terminated with:  
status = StatusCode.UNAVAILABLE  
details = “failed to connect to all addresses; last error: UNKNOWN: ipv4:34.98.85.103:443: Ssl handshake failed: SSL\_ERROR\_SSL: error:1000007d:SSL routines:OPENSSL\_internal:CERTIFICATE\_VERIFY\_FAILED”  
debug\_error\_string = “UNKNOWN:Error received from peer {created\_time:“2024-08-22T03:59:45.0595101+00:00”, grpc\_status:14, grpc\_message:“failed to connect to all addresses; last error: UNKNOWN: ipv4:34.98.85.103:443: Ssl handshake failed: SSL\_ERROR\_SSL: error:1000007d:SSL routines:OPENSSL\_internal:CERTIFICATE\_VERIFY\_FAILED”}”

---

<div class="post-metadata">

### Author: ![etiennedi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/etiennedi/32/44_2.png) [@etiennedi](https://forum.weaviate.io/u/etiennedi)
#### Post date: [August 22, 2024, 6:28am UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/2 "2024-08-22T06:28:02Z")

</div>

Hi @Khorppun_Sontipanya

Thanks for the report. Let me see what we can do to help you.

One question up front – since you mentioned the `connect_to_wcs` method – is this a paid cluster or a free sandbox? If it’s a paid cluster you’re also eligible to contact [support@weaviate.io](mailto:support@weaviate.io) – which may lead to faster responses. But also if it’s a free cluster, we’re happy to help you on a best effort basis right here.

Off the top of my head I can see potential causes:

1. There could be some sort of a global SSL issue with Weaviate Cloud. I have already pinged the correct folks to investigate if this is the cause.
2. It could be that something is off with your configuration and the error is an unfortunate error message obscuring the true error.

We’ll get back to you shortly!  
-Etienne

---

<div class="post-metadata">

### Author: ![pauldegrijp](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/pauldegrijp/32/2171_2.png) [@pauldegrijp](https://forum.weaviate.io/u/pauldegrijp)
#### Post date: [August 22, 2024, 7:33am UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/3 "2024-08-22T07:33:21Z")

</div>

Hi @Khorppun_Sontipanya

We have investigated Weaviate Cloud, but we do not see any SSL issues. We would like to help you resolve this as soon as possible. Could you please share the endpoint of the Weaviate Cluster you are using you are experiencing the issue with and send it to [support@weaviate.io](mailto:support@weaviate.io)? Thank you.

---

<div class="post-metadata">

### Author: ![Khorppun\_Sontipanya](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/khorppun_sontipanya/32/660_2.png) [@Khorppun\_Sontipanya](https://forum.weaviate.io/u/Khorppun_Sontipanya)
#### Post date: [August 22, 2024, 9:58am UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/4 "2024-08-22T09:58:19Z")

</div>

This is my endpoint :  
‘[https://s9qiyurarzso9rrjklwfda.c0.us-central1.gcp.weaviate.cloud](https://s9qiyurarzso9rrjklwfda.c0.us-central1.gcp.weaviate.cloud)’

Now, I try to use free sandbox.

This issue just recently occurred, I never had this issue before. it had never happened before. It only started happening the other day. Could it be related to a Windows update? Because after the Windows update, this problem started. However, some of my friends also have this problem, while others don’t when running the same code as I do.

Thank you for your support.

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [August 22, 2024, 1:45pm UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/5 "2024-08-22T13:45:03Z")

</div>

hi @Khorppun_Sontipanya !

What is the client version you are using?

you can get that information with:

```python
import weaviate
print(weaviate. __version__ )

```

Thanks!

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [August 23, 2024, 1:27pm UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/6 "2024-08-23T13:27:43Z")

</div>

hi @Khorppun_Sontipanya !!

Can you check if you have this library in your python environment?

`pip freeze | grep certifi`

if you don’t, please, install it:

`pip install -U certifi`

---

<div class="post-metadata">

### Author: ![Khorppun\_Sontipanya](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/khorppun_sontipanya/32/660_2.png) [@Khorppun\_Sontipanya](https://forum.weaviate.io/u/Khorppun_Sontipanya)
#### Post date: [August 27, 2024, 4:18pm UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/7 "2024-08-27T16:18:01Z")

</div>

I checked the version of Weaviate; it is currently version 4.7.1.

And I also have ‘certifi’ in the Python environment, and I’ve already upgraded ‘certifi’.

![image](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/f/ff497be4283833acf57a36707bb8a6d1d345633a.png)

Thank you very much for the effort to help.

---

<div class="post-metadata">

### Author: ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)
#### Post date: [August 27, 2024, 6:03pm UTC](https://forum.weaviate.io/t/ssl-verification-failure/3428/8 "2024-08-27T18:03:41Z")

</div>

hi @Khorppun_Sontipanya !!

Are you behind a corporate network by any chance?

We have identified some situations where, under this condition, it can affect the client connection.

We are working on a PR to with a workaround here:

> <https://github.com/weaviate/weaviate-python-client/pull/1260>
>
> Initial work. 
> Still need to figure: 
> \- a way to pass disable\_ssl\_verification… to aopen in \_\_batch\_send method of \_BatchBase class.
> \- Write some tests or at least check if the httpx client was initiated with the correct verify parameter
> 
> The idea is to print this message on exception with CERTIFICATE\_VERIFY\_FAILED
> 
> We have identified a SSL CERTIFICATE\_VERIFY\_FAILED error.
> 
> This error could be due to one of several reasons:
> - Weaviate client is under a corporate network that terminates ssl and issues it's own certificates.
> - You have a self signed certificate
> 
> Weaviate python client uses certifi, and because of that, it will not be able to trust
> Potential fixes:
> - disable ssl verification by setting using \`disable\_ssl\_verification=True\` in client initialization
> - note that Weaviate will trust any certificate
> - Replace certifi cacert with the same cacert that is issued by your corporate network.
> - for example: cat MyCompanyRootCA.pem \>\> $(python -m certifi)
> 
> To test this, you can rename the cacert.pem inside certifi package, like so:
> 
> \`\`\`python
> import certifi
> right\_path = certifi.where()
> wrong\_path = right\_path + "renamed"
> 
> import os 
> os.rename(right\_path, wrong\_path)
> \`\`\`

To check if this is your situation, you access your cluster url with chrome, and do the following:

click the button at the left side of the url. click at `Connection is secure`:

 ![image](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/6/6b094d6df075e24256916ccd17aecf4799ae868d.png)

and finally at `Certificate is valid`

 ![image](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/5/567a2029b088a9977a67296291c4c76f62fe8b4d.png)

this is the information you should see (of course, some details may change due to the AZ your cluster is at):

 ![image](https://canada1.discourse-cdn.com/flex027/uploads/weaviate/original/2X/c/ce963fcc5da12eb88a6b2198312715c075a4316e.png)

If you see anything other than **Issued By “Google Trust Services”** , you probably have a networking configuration that is terminating your SSL in between the client and server.

In this scenario, the CA CERT provided by certifi will not trust that issuer.

As a workaround you can replace certifi’s cacert.pm with the one you have.

you can find where this file is located issuing the following command:

```shell
python -m certifi

```

Let me know if this helps!

Thanks
