Kilo OpenStack クラウドをデプロイしようとしましたが、次のエラーが発生しました。
「/usr/bin/openstack token issue --format value」を実行すると 1 が返されました: /usr/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext オブジェクトは使用できません。これにより、urllib3 が SSL を適切に構成できなくなり、特定の SSL 接続が失敗する可能性があります。詳細については、次を参照してください。
だから私は行きます: https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
2.7.5よりも優れたpythonバージョンにアクセスできないことがわかったので、次を調べます。
https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl
だから彼らが私がすることをお勧めします...
# pip install pyopenssl ndg-httpsclient pyasn1
/usr/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
You are using pip version 7.1.0, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Requirement already satisfied (use --upgrade to upgrade): pyopenssl in /usr/lib64/python2.7/site-packages
Collecting ndg-httpsclient
/usr/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Downloading ndg_httpsclient-0.4.0.tar.gz
Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /usr/lib/python2.7/site-packages
Installing collected packages: ndg-httpsclient
Running setup.py install for ndg-httpsclient
Successfully installed ndg-httpsclient-0.4.0
ドキュメントには次のようにも書かれています。
パッケージがインストールされたら、inject_into_urllib3() を使用して urllib3 に ssl バックエンドを PyOpenSSL に切り替えるように指示できます。
import urllib3.contrib.pyopenssl urllib3.contrib.pyopenssl.inject_into_urllib3() これで、通常どおり urllib3 を引き続き使用できます。
私はそれが何を意味するのか理解していませんか?パッチを適用する必要がある Python ソース コードはありますか?
アップデート:
Josepの提案どおりに実行しましたが、これが起こっています:
# python
Python 2.7.5 (default, Jun 24 2015, 00:41:19)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3
>>> import pyopenssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pyopenssl
まだpyopensslがインストールされています...
# pip install pyopenssl
Requirement already satisfied (use --upgrade to upgrade): pyopenssl in /usr/lib64/python2.7/site-packages
アップデート:
これをやるとどうなるかというと・・・
# python
Python 2.7.5 (default, Jun 24 2015, 00:41:19)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import OpenSSL
>>> import urllib3
>>> import urllib3.contrib.pyopenssl as pyopenssl
>>> pyopenssl.inject_into_urllib3()
>>>