TL:Ph.D.、Squid v5.7は、生成された証明書に発行者を含めません。
過去には、次の方法でHTTPSデータキャッシュを実行できました。
- イカを作る:
VERSION='4.11' ./configure --with-openssl --enable-ssl-crtd' ...
- 自己署名証明書を生成します。
sudo openssl req -new -newkey rsa:2048 -nodes \
-x509 -sha256 -extensions v3_ca -days 365 \
-keyout squid-ca-key.pem -out squid-ca-cert.pem \
-subj "/C=AU/ST=WA/L=Perth/O=ACME Pty Ltd/OU=Innovation/CN=squid.d2i.net.au/[email protected]"
squid
所有権をプロキシユーザー(redhat)またはproxy
(ubuntu)に変更設定
squid.conf
:
http_port 3128 \
ssl-bump \
generate-host-certificates=on \
dynamic_cert_mem_cache_size=4MB \
cert=/opt/squid-4.11/certs/squid-ca-cert-key.pem
sslcrtd_program /opt/squid-4.11/lib/security_file_certgen \
-s /opt/squid-4.11/var/swap/ssl_db -M 16MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
ssl_bump splice all
しかし、最近Squid v5.7の設定により、証明書を動的に生成して値を空白にしてもSquidを使用するのが困難になりましたIssuer:
。出力に見られるようにopenssl s_client
:
ダウンロードしたファイルの完全な例は次のとおりです。
openssl s_client \
-proxy squid.d2i.net.au:3128 -servername github.com \
-connect https://github.com/neovim/neovim/releases/download/v0.4.4/nvim-linux64.tar.gz
Squidサービスがクライアントに有効な証明書を提供できないのはなぜですか?次のサービスがcurl
次のエラーを返しました。
sudo curl --proxy squid.d2i.net.au:3128 https://github.com
カール:(60)SSL:X509発行者名を取得できません。詳細については、次を参照してください。https://curl.se/docs/sslcerts.html カールはサーバーの正当性を検証できないため、セキュア接続を確立できません。この状況と回避策の詳細については、上記のWebページをご覧ください。
答え1
これは予想より簡単でした。-subj
証明書を生成するためのフラグを追加するのを忘れた場合、またはAnsibleで最初にこれを実行するときにcommon_name値が必要でした(成功的に生成されましたが)。
- name: Create certificate signing request (CSR) for new certificate
community.crypto.openssl_csr_pipe:
common_name: "{{ inventory_hostname }} personal computer"
privatekey_path: "{{ key_dir }}/{{ inventory_hostname }}.key"
basic_constraints:
- 'CA:TRUE'
- 'pathlen:0'
basic_constraints_critical: yes
subject_alt_name:
- "DNS:{{ inventory_hostname }}.localdomain"
run_once: true
register: csr