CentOS 7.4.1708 (64bit)
centos 7 yum
sudo certbot --authenticator standalone --installer nginx --pre-hook "nginx -s stop" --post-hook "nginx"
keluaran:
Traceback (most recent call last):
File "/bin/certbot", line 9, in <module>
load_entry_point('certbot==0.20.0', 'console_scripts', 'certbot')()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 572, i n load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2755, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2408, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2414, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 19, in <module>
from certbot import client
File "/usr/lib/python2.7/site-packages/certbot/client.py", line 11, in <module >
from acme import client as acme_client
File "/usr/lib/python2.7/site-packages/acme/client.py", line 32, in <module>
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: i gnore
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 112 , in inject_into_urllib3
_validate_dependencies_met()
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147 , in _validate_dependencies_met
raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
saya mengecualikannya untuk memberi saya sertifikat tetapi itu memberikan kesalahan itu. sudah mencoba memperbarui pyOpenSSL, tetapi tidak berhasil
/var/log/letsencrypt
secara default. Jangan ragu untuk menyunting domain, email, dan alamat IP sesuai keinginan Anda.Folder tidak ada
bagian belakang hulu {
#server datanet
server 127.0.0.1:19999;
tetap hidup 64;
}
server {
# nginx mendengarkan ini
mendengarkan 80;
# the virtual host name of this
server_name netdata.mydomain.fi;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}
}
centos-release-7-4.1708.el7.centos.x86_64
ImportError: modul 'pyOpenSSL' tidak memiliki fungsionalitas yang diperlukan. Coba perbarui ke v0.14 atau yang lebih baru.
tingkatkan pyOpenSSL 0.13.1
dari ke pyOpenSSL 17.5.0
saat menurunkan:
sudo pip install pyOpenSSL==0.15.1
kesalahan yang sama
ImportError: modul 'pyOpenSSL' tidak memiliki fungsionalitas yang diperlukan. Coba perbarui ke v0.14 atau yang lebih baru.
coba pip install --upgrade --force-reinstall 'requests==2.6.0'
Jangan mencampur paket yang diinstal yum
melalui paket pip
. Perbaikan yang tepat melibatkan penghapusan paket pip dan menginstal semuanya dari yum
. Saya telah menguraikannya di sini .
Anda tidak memerlukan pyOpenSSL yang lebih baru di CentOS 7 untuk menjalankan certbot!
pip uninstall requests
yum reinstall python-requests
pip uninstall six
yum reinstall python-six
pip uninstall urllib3
yum reinstall python-urllib3
Bug ini masih ada di RHEL 7
Traceback (most recent call last):
File "/bin/certbot", line 9, in <module>
load_entry_point('certbot==0.22.2', 'console_scripts', 'certbot')()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 558, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2355, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2361, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 20, in <module>
from certbot import client
File "/usr/lib/python2.7/site-packages/certbot/client.py", line 13, in <module>
from acme import client as acme_client
File "/usr/lib/python2.7/site-packages/acme/client.py", line 33, in <module>
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: ignore
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
_validate_dependencies_met()
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
Sangat memberatkan. Aku mulai membenci Centos.
Mencoba memperbarui pyOpenSSL di CentOS, dapatkan kesalahan berikut:
sudo pip install pyOpenSSL==0.15.1
Mengumpulkan pyOpenSSL==0.15.1
Mengunduh https://files.pythonhosted.org/packages/37/2f/840f2656e4bcf257cb814825bb751a9197ca6f39f1fa036ab111920ac7ef/pyOpenSSL-0.15.1-py2.py3-none-any.whl (102kB)
100% |████████████████████████████████| 112kB 1.9MB/dtk
Persyaratan sudah terpenuhi: enam>=1.5.2 di /usr/lib/python2.7/site-packages (dari pyOpenSSL==0.15.1) (1.9.0)
Persyaratan sudah terpenuhi: kriptografi>=0,7 di /usr/lib64/python2.7/site-packages (dari pyOpenSSL==0.15.1) (2.3.1)
Persyaratan sudah terpenuhi: idna>=2.1 di /usr/lib/python2.7/site-packages (dari kriptografi>=0.7->pyOpenSSL==0.15.1) (2.7)
Persyaratan sudah terpenuhi: enum34; python_version < "3" di /usr/lib/python2.7/site-packages (dari kriptografi>=0.7->pyOpenSSL==0.15.1) (1.0.4)
Persyaratan sudah terpenuhi: cffi!=1.11.3,>=1.7 di /usr/lib64/python2.7/site-packages (dari kriptografi>=0.7->pyOpenSSL==0.15.1) (1.11.5)
Persyaratan sudah terpenuhi: asn1crypto>=0.21.0 di /usr/lib/python2.7/site-packages (dari kriptografi>=0.7->pyOpenSSL==0.15.1) (0.24.0)
Persyaratan sudah terpenuhi: ipaddress; python_version < "3" di /usr/lib/python2.7/site-packages (dari kriptografi>=0.7->pyOpenSSL==0.15.1) (1.0.16)
Persyaratan sudah terpenuhi: pycparser di /usr/lib/python2.7/site-packages (dari cffi!=1.11.3,>=1.7->cryptography>=0.7->pyOpenSSL==0.15.1) (2.14)
Menginstal paket yang dikumpulkan: pyOpenSSL
Ditemukan instalasi yang ada: pyOpenSSL 0.13.1
Tidak dapat menghapus 'pyOpenSSL'. Ini adalah proyek yang diinstal distutil dan dengan demikian kami tidak dapat secara akurat menentukan file mana yang menjadi miliknya yang hanya akan menyebabkan penghapusan sebagian.
Sedikit konteks: paket dist untuk pyOpenSSL ada di 0.13.1. untuk menghapusnya untuk memperbaruinya melalui pip - Yum membuat saya menghapus certbot. Mempertimbangkan certbot adalah satu-satunya alasan saya perlu memperbarui pyOpenSSL - semacam menempatkan kami dalam tangkapan 22.
yum info pyOpenSSL
Plugin yang dimuat: cermin tercepat, langpacks
Memuat kecepatan cermin dari file host yang di-cache
Demi debugging dan juga untuk itu, saya menghapus pyOpenSSL dist (dan dengan demikian certbot), melakukan instalasi pip pyOpenSSL, dan menginstal ulang certbot. Yum menimpa pyOpenSSL 0.15.1 dengan 0.13.1....dan hasil yang sama ketika saya mencoba memperbarui dengan certbot.
Saya kemudian mencoba sudo pip install --upgrade pyopenssl - dan pesan kesalahan yang sama tentang versi yang diinstal distutil.
Tidak ada solusi hari ini - tebak sertifikat saya akan kedaluwarsa
acme.sh berfungsi, saya sudah menyerah pada certbot;)
Teman-teman, sebenarnya menemukan perbaikan untuk ini. Saya tidak dapat mengambil kredit untuk melakukan apa pun selain menemukan artikel: https://medium.com/@getpagespeed/fix -importerror-pyopenssl-module-missing-required-functionality-e1c514797204
Semua pujian untuk Danila Vershinin karena menemukan perbaikannya!
Saya hanya dapat menambahkan bahwa jika Anda menginstal certbot dan aws cli maka kemungkinan besar masalah itu akan terjadi.
dari penelitian cepat saya tampaknya menginstal paket sistem seperti yang disarankan break aws cli. memperbaiki aws cli merusak certbot dan lain-lain jadi sangat tidak menyenangkan :)
Teman-teman, sebenarnya menemukan perbaikan untuk ini. Saya tidak dapat mengambil kredit untuk melakukan apa pun selain menemukan artikel: https://medium.com/@getpagespeed/fix -importerror-pyopenssl-module-missing-required-functionality-e1c514797204
Semua pujian untuk Danila Vershinin karena menemukan perbaikannya!
Perbaikan tidak bekerja untuk saya - tidak ada paket pip yang diinstal dan semua yang terdaftar melaporkan yum sebagai sudah diinstal dan terbaru.
Mengenai memiliki aws cli dan certbot pada sistem yang sama.
Itu datang ke versi urllib3 yang saling bertentangan.
awscli-1.16.81
membutuhkan urllib3-1.24.1
dan python2-certbot-0.27.1-1.el7.noarch.rpm
bekerja dengan urllib3-1.10.2
.
Versi yang lebih baru memberikan kesalahan yang disebutkan.
Saya tidak dapat membuatnya bekerja bersama, bahkan menginstal awscli
dengan --user
memberikan masalah yang sama, karena urllib yang lebih baru kemudian ditempatkan di /root/.local/lib
dan certbot
berjalan cari disini juga...
Saya tidak bisa membuatnya bekerja bersama, bahkan menginstal awscli dengan --user memberikan masalah yang sama, karena urllib yang lebih baru kemudian ditempatkan di /root/.local/lib dan certbot juga mencari di sini ...
Punya masalah yang sama dengan versi urllib3 yang saling bertentangan setelah menginstal aws cli. Akhirnya, setelah memperbaiki certbot saya menginstal aws cli menggunakan virtualenv.
https://docs.aws.amazon.com/cli/latest/userguide/install-virtualenv.html
Sekarang, certbot dan aws cli keduanya baik-baik saja.
Saya juga menginstal awscli menggunakan paket penginstal yang mereka sediakan, sehingga awscli mandiri.
https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html
Cara lain mengatasi konflik antara awscli dan certbot adalah menginstal python36 dan menjalankan awscli menggunakannya.
Bisakah paket certbot tidak menginstal modul python di lingkungannya sendiri atau kurang ketat dalam hal persyaratan versi?
Komentar yang paling membantu
coba
pip install --upgrade --force-reinstall 'requests==2.6.0'