我正在编写一个内部应用程序,其中我的主Web服务器是Apache Web服务器,托管主Web门户,可通过HTTPS访问。证书是自签名证书,网站不会通过互联网访问,但VPN可能是。
在我的应用程序的一个网页上,我正在使用HTTPS建立与基于socketio的服务器的单独连接,但是在不同的端口上。主URL和socketio的URL的主机名相同。
如果我为两个网址使用两个不同的SSL证书,一切都很顺利。但是,如果我尝试使用相同的SSL证书,则应用程序无法连接到socket io服务器。
我想为两个URL(相同的主机,不同的端口)使用相同的证书。不可能吗?
我通过gevent socketio在后端收到以下错误。
Traceback (most recent call last):
File "/nobackup/kdhotre/Intracer/16.0.293/C-Int/3rdparty/python2.6.1/lib/python2.6/site-packages/gevent-1.0-py2.6-linux-x86_64.egg/gevent/greenlet.py", line 327, in run
result = self._run(*self.args, **self.kwargs)
File "/nobackup/kdhotre/Intracer/16.0.293/C-Int/3rdparty/python2.6.1/lib/python2.6/site-packages/gevent-1.0-py2.6-linux-x86_64.egg/gevent/server.py", line 102, in wrap_socket_and_handle
ssl_socket = self.wrap_socket(client_socket, **self.ssl_args)
File "/nobackup/kdhotre/Intracer/16.0.293/C-Int/3rdparty/python2.6.1/lib/python2.6/site-packages/gevent-1.0-py2.6-linux-x86_64.egg/gevent/ssl.py", line 383, in wrap_socket
ciphers=ciphers)
File "/nobackup/kdhotre/Intracer/16.0.293/C-Int/3rdparty/python2.6.1/lib/python2.6/site-packages/gevent-1.0-py2.6-linux-x86_64.egg/gevent/ssl.py", line 87, in __init__
cert_reqs, ssl_version, ca_certs)
SSLError: [Errno 336445442] _ssl.c:351: error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib
<Greenlet at 0x1b363050: <bound method SocketIOServer.wrap_socket_and_handle of
<SocketIOServer at 0x1b25bc90 fileno=10 address=72.163.134.156:5501>>
(<socket at 0x1b35de50 fileno=11 sock=72.163.134.15, ('10.142.149.112', 64062))> failed with SSLError