2017-11-15 6 views
1

여러 OSX 버전의 경우 these tutorials을 사용하여 SSL을 비롯한 로컬 개발 환경을 설정했습니다.서명되지 않은 SSL 인증서 및 로컬 컬이 높은 Sierra 문제

나는 또한 항상이 같은 폴더 구조를 기반으로 동적 가상 호스트를 만들 수있었습니다

:

# Auto-VirtualHosts with .dev 
<VirtualHost *:8080> 
    ServerName dev 
    ServerAlias *.dev 

    CustomLog "/Users/username/Sites/logs/dev-access_log" combinedmassvhost 
    ErrorLog "/Users/username/Sites/logs/dev-error_log" 

    VirtualDocumentRoot /Users/username/Sites/%-2+ 
</VirtualHost> 
<VirtualHost *:8443> 
    ServerName dev 
    ServerAlias *.dev 
    Include "/Users/username/Sites/ssl/ssl-shared-cert.inc" 

    CustomLog "/Users/username/Sites/logs/dev-access_log" combinedmassvhost 
    ErrorLog "/Users/username/Sites/logs/dev-error_log" 

    VirtualDocumentRoot /Users/username/Sites/%-2+ 
</VirtualHost> 

같이가 포함 된 SSL 파일 :

SSLEngine On 
SSLProtocol all -SSLv2 -SSLv3 
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW 
SSLCertificateFile "/usr/local/etc/httpd/server.crt" 
SSLCertificateKeyFile "/usr/local/etc/httpd/server.key" 

그리고 생성 그 인증서 나는이 코드를 실행한다 :

$ cd /usr/local/etc/httpd 
$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt 

이것은 항상 괜찮은, 장소 상에서. curl을 성공적으로 실행할 수 있으며 특히 WordPress 개발에서 curl을 사용하는 cron 개의 작업을 실행할 수 있습니다.

There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron events on your site may not work. The problem was: cURL error 60: SSL certificate problem: self signed certificate

을 그리고 로컬 HTTPS URL로 curl을 실행할 때 명령 행에, 나는이 오류를 얻을 : 높은 시에라로 업그레이드시

, 나는 워드 프레스에 다음과 같은 오류가

curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

초기 자습서의 모든 항목을 다시 설치하려고했지만 지금까지 아무 것도 도움이되지 않았습니다. 나 또한 내장 홈 브루 (Homebrew) 버전 대신 curl을 설치하려고 시도했으나 효과가없는 것으로 보입니다. 이 문제에 대해 좀 더 까다롭게 할 수있는 High Sierra에 대해 알려진 것이 있습니까? 그렇다면 지역 개발을 위해이를 우회 할 수있는 방법이 있습니까?

+0

스택 오버플로는 프로그래밍 및 개발 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [수퍼 유저] (http : // 수퍼 유저.com /) 또는 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳입니다. – jww

+0

*** 'CN = www.example.com' ***이 잘못된 것 같습니다. 호스트 이름은 항상 * SAN *에 있습니다. * CN *에있는 경우, * SAN *에도 있어야합니다 (이 경우 두 번 나열해야합니다). 자세한 규칙 및 이유는 [인증 기관의 인증서 서명 요청 서명 방법] (http://stackoverflow.com/a/21340898/608639) 및 [openssl을 사용하여 자체 서명 된 인증서를 만드는 방법] (http://stackoverflow.com/q/10175812/608639) 또한 자체 서명 된 인증서를 적절한 트러스트 스토어에 배치해야합니다. – jww

+0

@jww 확실히 로컬 개발 환경을 설정하는 것이므로 여기서 괜찮을 것이라고 생각했습니다. CN = www.example.com을 넣는 것을 기억하지 못하는 반면, 나에게 혼란스러운 점은 이전 OSX 버전의 보편적 인 SSL과 같이 항상 지역 개발을 위해 잘 작동한다는 것입니다. 하이 시에라에서 뭔가가 바뀌 었습니까? –

답변

1

컬 CA 인증서 저장소에 자체 서명 된 인증서를 추가해야합니다.

/usr/local/Cellar/curl/7.56.1/libexec/mk-ca-bundle.pl 

편집 생성 된 파일 :

/usr/local/Cellar/curl/7.56.1/libexec/ca-bundle.crt 

과 동일한 구문을 사용하여 자체 서명 인증서를 추가

먼저 당신이에 저장되어있는 펄 스크립트를 실행하여 CA 번들을 생성해야 .

당신과 함께 인증서를 얻을 수 있습니다 다음 BEGINEND 라인을 포함

-----BEGIN CERTIFICATE----- 

-----END CERTIFICATE----- 

에 :에서

openssl s_client -showcerts -connect my.server.com:443 

복사 다. 다음 파일이 포함 ~/.curlrc 만들기 :

cacert /usr/local/Cellar/curl/7.56.1/libexec/ca-bundle.crt 
+0

이전에이 키를 시스템의 OSX 키 체인 액세스 도구에 추가하고 항상 신뢰 권한을 부여했습니다. 여기에 무슨 일이 일어나고있는 것 같습니까? 아무것도 바뀌지 않는 것 같습니다. –

+0

'which curl'의 결과는 무엇입니까? –

+0

'/ usr/local/bin/curl' –