프록시를 사용하여 Windows 7에 Composer를 설치하는 동안 SSL 확인 실패 오류 발생

프록시를 사용하여 Windows 7에 Composer를 설치하는 동안 SSL 확인 실패 오류 발생

내 오류는 GUI와 명령줄을 모두 사용하여 Composer를 설치하려고 할 때마다 SSL 확인이 실패하면서 동일한 오류가 발생하여 프록시를 통해 HTTP에 연결할 수 없다는 것입니다. 저는 프록시 뒤에서 XAMPP를 실행하는 Windows 7 컴퓨터를 사용하고 있습니다.

시작하려면 이 오류에 대해 조사를 수행하고 다른 게시물의 모든 해결 방법을 시도했지만 무엇을 놓쳤는지 궁금합니다.

내가 시도한 것들:

  • 현재 Apache용 XAMPP를 사용하고 있으며 최신 버전과 이전 버전 몇 개를 다운로드하여 설치했습니다.
  • 컬-ca-bundle.crt를 다시 다운로드하고 \xampp\apache\bin\curl-ca-bundle.crt를 업데이트하여 최신 버전을 반영했습니다(XAMPP와 함께 제공된 버전과 내가 사용한 버전 사이의 약 20kb 차이). 다운로드됨).
  • getcomposer.org에 대한 인증서를 수동으로 다운로드하여 내 컬-ca-bundle.crt 끝에 추가했습니다. (예, 이것이 PHP/Composer가 설치하는 데 사용하는 파일이라고 확신합니다)
  • 명령줄을 통해 이것을 설치하려고 하면 알려진 호스트가 없다는 오류가 발생합니다. 이 문제는 HTTP/HTTPS_PROXY URL이 설정되지 않았기 때문에 발생한다는 것을 알았습니다. 전원을 켠 다음 GUI를 통해와 동일한 오류가 발생합니다(아래 참조).
  • 그런 다음 Composer 사이트를 통해 설치하기 위해 .exe를 다운로드했을 때 설치 프로그램에서 no sush 호스트를 제거하기 위해 프록시를 지정할 수 있는 옵션이 있습니다. 프록시를 지정한 후에도 이제 똑같은 오류가 발생합니다. 명령줄로.
  • 작곡가에 대한 SSL/TLS를 비활성화합니다. 하지만 https를 사용하여 웹사이트에 접속하려고 하면 여전히 실패합니다.

GUI:

Composer 설치 프로그램 스크립트가 성공하지 못했습니다[종료 코드 1].

'인증서 확인 실패' 오류로 인해 OpenSSL이 실패했습니다. 이는 시스템의 인증 기관 파일에 문제가 있음을 나타냅니다. 이 파일은 오래되었을 수 있습니다.

인증서 위치[openssl.cafile ini 설정에서]: \xampp\apache\bin\curl-ca-bundle.crt

명령줄 PHP에서 사용되는 php.ini는 다음과 같습니다: C:\xampp\php\php.ini

스크립트 출력: "https://getcomposer.org/versions" 파일을 다운로드할 수 없습니다. 코드 1로 인해 SSL 작업이 실패했습니다. OpenSSL 오류 메시지: 오류:1416F086:SSL 루틴:tls_process_server_certificate:인증서 확인 실패 스트림 열기 실패: 프록시를 통해 HTTPS 서버에 연결할 수 없습니다.

CMD 라인:

C:\Users\S0077500\Desktop\Laravel\Attempt 7>php composer.phar diagnose
You are running Composer with SSL/TLS protection disabled.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: WARNING
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Composer is configured to disable SSL/TLS protection. This will leave remote HTT
PS requests vulnerable to Man-In-The-Middle attacks.
Checking HTTP proxy: FAIL
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking HTTP proxy support for request_fulluri: OK
Checking HTTPS proxy support for request_fulluri: Unable to assess the situation
, maybe github is down (The "https://api.github.com/repos/Seldaek/jsonlint/zipba
ll/1.0.0" file could not be downloaded: SSL operation failed with code 1. OpenSS
L Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy)
Checking github.com rate limit: FAIL
[Composer\Downloader\TransportException] The "https://api.github.com/rate_limit"
 file could not be downloaded: SSL operation failed with code 1. OpenSSL Error m
essages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking disk free space: OK
Checking pubkeys: FAIL
Missing pubkey for tags verification
Missing pubkey for dev verification
Run composer self-update --update-keys to set them up
Checking composer version:

  [Composer\Downloader\TransportException]
  The "https://getcomposer.org/versions" file could not be downloaded: SSL op
  eration failed with code 1. OpenSSL Error messages:
  error:1416F086:SSL routines:tls_process_server_certificate:certificate veri
  fy failed
  failed to open stream: Cannot connect to HTTPS server through proxy


diagnose


C:\Users\S0077500\Desktop\Laravel\Attempt 7>

답변1

저는 xampp 3.0.12(php5.3)가 설치된 Windows 10을 사용하고 있습니다. 작곡가를 설치할 수 없습니다. 나는 그것이 나를 위해 일한 아래 단계를 시도했습니다.

  1. 다음에서 설치 프로그램 스크립트를 다운로드하세요.https://getcomposer.org/installer.
  2. 이라는 파일로 저장하세요 composer-setup.php.
  3. composer-setup.php즐겨 사용하는 편집기에서 엽니다 .
  4. 모든 HTTPS를 HTTP로 바꾸고 파일을 저장합니다.
  5. 명령 프롬프트에서 아래 3단계를 실행하세요.

    php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    
    php composer-setup.php
    
    php -r "unlink('composer-setup.php');"
    
  6. 짜잔! 작곡가가 성공적으로 설치되면 다음을 실행할 수 있습니다 php composer.phar.

감사해요

답변2

나는 같은 오류가 발생했습니다. 이것이 내가 문제를 해결한 방법입니다. 나는 다음의 지시를 따랐다.https://getcomposer.org/download/, 아래 단락명령줄 설치

```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```

나는 줄을 php composer-setup.php다음으로 바꿨다.php composer-setup.php --disable-tls

PHP 스크립트를 편집할 필요가 없습니다.

옵션을 찾은 Composer-setup.php의 코드를 검토하면서 아이디어를 얻었습니다. php composer-setup.php --help코드를 읽지 않고도 동일한 답을 더 빨리 찾기 위해 달려갔어야 했습니다 .

관련 정보