Windows Server 2003의 PHP용 SSL

Windows Server 2003의 PHP용 SSL

나는 가지고있다윈도우서버 2003 R2아파치2.2.4 및PHP5.2.6. https(SSL)를 통해 페이지에 액세스하고 싶습니다.

그리고 다음 오류가 발생합니다(Zend Framework GData):

Unable to find the socket transport "ssl" - enter code here did you forget to enable it when you configured PHP?

그래서 내가 한 일. 나는 php.ini에 가서 그 줄의 주석 처리를 제거했습니다.

extension=php_openssl.dll

저도 설치했어요Win32 OpenSSL.

그러나 아무것도 작동하지 않습니다. 나는 무엇을 할 것인가?

답변1

좋습니다. 여기에서 확인해야 할 여러 단계가 있습니다.

  • 먼저, phpinfo() 파일을 생성하여 PHP의 SSL 확장이 실제로 활성화되었는지 확인하세요. 활성화했다고 말씀하셨지만 올바른 PHP.ini 파일에서 그렇게 했는지, 그리고 변경 사항이 실제로 적용되는지 확인하세요. .
  • libeay32.dll 및 ssleay32.dll이 Windows PATH 어딘가에 있는지 확인하세요.
  • php_openssl.dll이 확장 디렉터리에 있는지 확인하세요.
  • phpinfo() 파일이 올바른 확장 디렉토리를 표시하는지 확인하십시오.

답변2

다음은 튜토리얼의 관련 부분입니다.http://fash7y.wordpress.com/2011/12/0/solved-how-to-set-up-https-with-openssl-in-wamp/

계속 사용하려면http://openssl-for-windows.googlecode.com/files/openssl-0.9.8k_WIN32.zip.

좋습니다. 다음 단계를 진행해 보겠습니다. ;)

  1. SSL 인증서 및 키 생성

ㅏ. Ekstrak OpenSSL을 디렉터리에 복사하고 다음 파일을 복사합니다.

openssl.cnf to .\Apache2.2.11\conf\
from folder bin, copy all files to .\Apache2.2.11\bin\

// 기존 파일을 교체하세요! :디

비. CMD검색 메뉴에 입력하여 DOS 명령 창을 엽니다 .

씨. 이 CD C:\wamp\bin\apache\apache2.2.11\bin을 입력하세요.

디. 다음 명령을 입력하여 1024비트 암호화로 서버 개인 키를 생성합니다. openssl genrsa -des3 -out server.key 1024

// 암호 문구(비밀번호)를 묻는 메시지가 표시됩니다. 원하는 비밀번호를 입력하세요.

이자형. RSA 개인 키에서 암호 문구를 제거합니다(원본 파일의 백업 복사본을 유지하면서). 다음을 입력하세요:

server.key server.key.org 복사

openssl rsa -in server.key.org -out server.key

// 비밀번호 문구를 묻는 메시지가 표시됩니다. 그냥 입력하세요.

에프. 방금 생성한 RSA 키를 사용하여 자체 서명된 인증서(X509 구조)를 생성합니다. 다음을 입력하십시오: openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt -config C:\wamp\bin\apache\apache2.2.11\conf\openssl.cnf

  1. server.key 및 server.crt 파일을 복사합니다.

ㅏ. Apache2.2.11\conf\에서 ssl.key 및 ssl.crt라는 두 개의 폴더를 만듭니다.

비. server.key 파일을 ssl.key 폴더에 복사하고 server.crt 파일을 ssl.crt 폴더에 복사합니다.

  1. httpd.conf 파일, php.ini 및 httpd_ssl.conf를 편집합니다.

ㅏ. httpd.conf 파일 열기

비. LoadModule ssl_module modules/mod_ssl.so라는 줄에서 '#' 주석을 제거합니다.

씨. conf/extra/httpd-ssl.conf 포함 줄에서 '#' 주석을 제거합니다.

디. 이 파일을 엽니다 -> C:\wamp\bin\php\php5.3.8\php.ini

이자형. 주석 ';'을 제거하십시오. 다음 줄에: Extension=php_openssl.dll

에프. 이 파일을 엽니다 -> C:\wamp\bin\apache\Apache2.2.11\conf\extra\httpd_ssl.conf

g. 다음과 같은 줄을 찾으세요: .

시간. 그 직후에 다음과 같은 줄을 변경하십시오.

Change the line “DocumentRoot …” to DocumentRoot “C:/wamp/www/”
Change the line “ServerName…” to ServerName localhost:443
Change the line “ErrorLog….” to Errorlog “C:/wamp/bin/apache/Apache2.2.11/logs/sslerror.log”
Change the line “TransferLog ….” to TransferLog “C:/wamp/bin/apache/Apache2.2.11/logs/sslaccess.log”
Change the line “SSLCertificateFile ….” to SSLCertificateFile “C:/wamp/bin/apache/Apache2.2.11/conf/ssl.crt/server.crt”
Change the line “SSLCertificateKeyFile ….” to SSLCertificateKeyFile “C:/wamp/bin/apache/Apache2.2.11/conf/ssl.key/server.key”
Change the line which says <Directory “C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin”> or something like that (sorry I’m forget what its default dir :p) to <Directory “C:/wamp/www/”>
Add the following lines inside those <Directory … >…</Directory> tags:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Change the line “CustomLog…” to CustomLog “C:/wamp/bin/apache/Apache2.2.11/logs/ssl_request.log”
  1. 작동하는지 확인하세요!

ㅏ. 이전 DOS 명령 창에서 httpd -t 를 입력합니다. Sysntax가 OK라고 표시되면 다음 단계로 이동합니다. 그렇지 않은 경우 잘못된 구문을 수정하고 3단계를 다시 실행하세요.

비. Apache 서버를 다시 시작합니다. 재시작이 성공하면 브라우저를 열고 http.s localhost/를 입력하십시오.

어떻게 되나요? 작동해요, 그렇죠? 축하해요! :디

  1. 이것을 시도해 보십시오: htt..localhost

관련 정보