Acly / krita-ai-diffusion

Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required.
https://www.interstice.cloud
GNU General Public License v3.0
6.37k stars 307 forks source link

SSL Error on MacOS still #1102

Open qr3325 opened 3 weeks ago

qr3325 commented 3 weeks ago

This seems to occur despite the fix in #840 / #841.

Client log:

2024-08-23 01:23:57,585 ERROR Error setting SSL_CERT_FILE on MacOS: No module named 'certifi'
2024-08-23 01:23:57,595 INFO Loaded 11 sampler presets from /Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/presets/samplers.json
2024-08-23 01:23:57,638 INFO Extension initialized, Version: 1.22.0, Python: 3.10.7 (main, Apr 17 2024, 20:18:29) [Clang 15.0.0 (clang-1500.3.9.4)]
2024-08-23 01:23:58,684 INFO Connecting to http://127.0.0.1:8188
2024-08-23 01:24:43,352 INFO Connecting to https://fnqdspfyb1aykl-3001.proxy.runpod.net
2024-08-23 01:24:44,342 ERROR Error: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 94, in connect
    async with websockets_client.connect(f"{wsurl}/ws?clientId={client._id}"):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 629, in __aenter__
    return await self
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 647, in __await_impl_timeout__
    return await self.__await_impl__()
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 651, in __await_impl__
    _transport, _protocol = await self._create_connection()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1119, in _create_connection_transport
    await waiter
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 534, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 188, in feed_ssldata
    self._sslobj.do_handshake()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/ssl.py", line 975, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/connection.py", line 86, in _connect
    self._client = await ComfyClient.connect(url)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 98, in connect
    raise Exception(msg)
Exception: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
2024-08-23 01:26:48,157 INFO Connecting to https://fnqdspfyb1aykl-3001.proxy.runpod.net
2024-08-23 01:26:49,218 ERROR Error: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 94, in connect
    async with websockets_client.connect(f"{wsurl}/ws?clientId={client._id}"):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 629, in __aenter__
    return await self
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 647, in __await_impl_timeout__
    return await self.__await_impl__()
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 651, in __await_impl__
    _transport, _protocol = await self._create_connection()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1119, in _create_connection_transport
    await waiter
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 534, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 188, in feed_ssldata
    self._sslobj.do_handshake()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/ssl.py", line 975, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/connection.py", line 86, in _connect
    self._client = await ComfyClient.connect(url)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 98, in connect
    raise Exception(msg)
Exception: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
2024-08-23 01:27:42,069 INFO Connecting to http://fnqdspfyb1aykl-3001.proxy.runpod.net
2024-08-23 01:27:43,323 ERROR Error: Could not establish websocket connection at ws://fnqdspfyb1aykl-3001.proxy.runpod.net: https://fnqdspfyb1aykl-3001.proxy.runpod.net/ws?clientId=8eade1c6-f49f-485d-a692-0bb5777f22b9 isn't a valid URI: scheme isn't ws or wss
Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 654, in __await_impl__
    await protocol.handshake(
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 323, in handshake
    raise RedirectHandshake(response_headers["Location"])
ai_diffusion.websockets.src.websockets.exceptions.RedirectHandshake: redirect to https://fnqdspfyb1aykl-3001.proxy.runpod.net/ws?clientId=8eade1c6-f49f-485d-a692-0bb5777f22b9

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 94, in connect
    async with websockets_client.connect(f"{wsurl}/ws?clientId={client._id}"):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 629, in __aenter__
    return await self
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 647, in __await_impl_timeout__
    return await self.__await_impl__()
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 664, in __await_impl__
    self.handle_redirect(exc.uri)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 555, in handle_redirect
    new_wsuri = parse_uri(new_uri)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/uri.py", line 77, in parse_uri
    raise exceptions.InvalidURI(uri, "scheme isn't ws or wss")
ai_diffusion.websockets.src.websockets.exceptions.InvalidURI: https://fnqdspfyb1aykl-3001.proxy.runpod.net/ws?clientId=8eade1c6-f49f-485d-a692-0bb5777f22b9 isn't a valid URI: scheme isn't ws or wss

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/connection.py", line 86, in _connect
    self._client = await ComfyClient.connect(url)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 98, in connect
    raise Exception(msg)
Exception: Could not establish websocket connection at ws://fnqdspfyb1aykl-3001.proxy.runpod.net: https://fnqdspfyb1aykl-3001.proxy.runpod.net/ws?clientId=8eade1c6-f49f-485d-a692-0bb5777f22b9 isn't a valid URI: scheme isn't ws or wss
2024-08-23 01:27:47,103 INFO Connecting to https://fnqdspfyb1aykl-3001.proxy.runpod.net
2024-08-23 01:27:47,668 ERROR Error: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 94, in connect
    async with websockets_client.connect(f"{wsurl}/ws?clientId={client._id}"):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 629, in __aenter__
    return await self
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 647, in __await_impl_timeout__
    return await self.__await_impl__()
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/websockets/src/websockets/legacy/client.py", line 651, in __await_impl__
    _transport, _protocol = await self._create_connection()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/base_events.py", line 1119, in _create_connection_transport
    await waiter
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 534, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/asyncio/sslproto.py", line 188, in feed_ssldata
    self._sslobj.do_handshake()
  File "/Applications/krita.app/Contents/Frameworks/Python.framework/Versions/Current/lib/python3.10/ssl.py", line 975, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/connection.py", line 86, in _connect
    self._client = await ComfyClient.connect(url)
  File "/Users/qr3325/Library/Application Support/krita/pykrita/ai_diffusion/comfy_client.py", line 98, in connect
    raise Exception(msg)
Exception: Could not establish websocket connection at wss://fnqdspfyb1aykl-3001.proxy.runpod.net: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
guijiaosir commented 3 weeks ago

https://github.com/Acly/krita-ai-diffusion/wiki/Cloud-GPU#-customization

USE CLOUD. IF U USE MAC

qr3325 commented 3 weeks ago

Yep, I was using runpod, following the guide you linked.

RylanLiu commented 3 weeks ago

我也出现了这个问题,我windows系统本地的krita连接云端部署的comfyui时,也出现了ssl的错误,comfyui终端的具体错误是:

(URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:997)')),)

本地krita的日志文件错误内容和上面的帖子一样。

Acly commented 3 weeks ago

(URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:997)')),)

That's a different issue. Self-signed certificates are not allowed (they're not generally secure). You need to fix your certificate or don't use SSL.

This seems to occur despite the fix in https://github.com/Acly/krita-ai-diffusion/issues/840 / https://github.com/Acly/krita-ai-diffusion/pull/841.

Does it work when setting the environment variables outside before starting Krita? (as in https://github.com/Acly/krita-ai-diffusion/issues/74#issuecomment-1819993842)

NicoNicoNico123 commented 1 week ago

same as me, hope it solve soon