XAMPP로 SSL 활성화


81

나는 http://robsnotebook.com/xampp-ssl-encrypt-passwords 할 수있는만큼이 가이드를 따르고 있습니다 .

그러나 https로 시작하는 페이지를 탐색 할 때마다 아파치 서버가 404 Object Not Found로 응답합니다.

내가 놓친 설정은 무엇입니까? 도움을 주셔서 감사합니다.


귀하의 튜토리얼 링크는 https를하지 아직이 httpa 만드는 방법을 teachs
Cholowao

답변:


105

답을 찾았습니다. 파일 에서 포트 443 xampp\apache\conf\extra\httpd-ssl.conf의 주석 SSL Virtual Host Context페이지 아래에서 https가 다른 문서 루트에서 조회됨을 의미합니다.

문서 루트를 동일한 루트로 변경하면 문제가 해결됩니다.


9
이러한 변경 사항을 적용하려면 Apache를 다시 시작해야합니다 ( sudo /Applications/XAMPP/xamppfiles/xampp disablesslsudo /Applications/XAMPP/xamppfiles/xampp enablessl각각을 사용하여 SSL이 작동하는지 확인하려면 SSL을 비활성화했다가 다시 활성화해야 할 수도 있음 ).
Wex

4
SSL을 위해 포트 443을 전달하는 것을 잊지 마십시오. 희망 그 힘 도움말 사람 =)
user1534664


1
이 기사는 저에게 많은 도움이되었으며 Chrome을 다시 시작하는 것을 잊지 마십시오. shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp
Moh Arjmandi

85

다음 xampp/apache/conf/extra/httpd-vhost.conf과 같이 SSL을 구성 할 수도 있습니다 .

<VirtualHost *:443>
    DocumentRoot C:/xampp/htdocs/yourProject
    ServerName yourProject.whatever
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>

나는 그것을 변경하지 않는 것이 좋습니다. httpd-ssl.conf두 개 이상의 프로젝트가 있고 둘 이상의 프로젝트에 SSL이 필요한 경우


example.com example2.com example3.com과 같은 호스트로 여러 도메인이 있고 example2.com에 ssl을 추가했지만 예상대로 작동하지 않으므로 동일한 단계를 수행하고 httpd-vhost.conf를 수정했습니다. example2.com으로 이동하면 example.com 웹 사이트가 표시됩니다.
Srikanth Gopi

12

XAMPP의 경우 다음 단계를 수행하십시오.

  1. G : \ xampp \ apache \ conf \ extra \ httpd-ssl.conf "

  2. 'DocumentRoot'텍스트를 검색합니다.

  3. DocumentRoot DocumentRoot "G : / xampp / htdocs"를 DocumentRoot "G : / xampp / htdocs / project name"으로 변경합니다.


10

xampp / apache / conf / extra / httpd-vhost.conf에서 SSL 구성

http

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com

    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

https

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

server.crt 및 server.key 경로가 올바르게 지정되었는지 확인하십시오. 그렇지 않으면 작동하지 않습니다.

httpd.conf에서 vhost를 활성화하는 것을 잊지 마십시오

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

2

마침내 내 호스팅 xampp Windows 10 서버 웹 사이트에서 작동하도록했습니다. 즉 자물쇠가 SSL로 나왔습니다. 2020 년 11 월부터 xampp 버전을 사용하고 있습니다.

  1. certbot.eff.org로 이동했습니다. 홈 페이지 소프트웨어 [apache] 및 시스템 [windows]에서 선택되었습니다. 그런 다음 다음 페이지에서 찾은 certbot 소프트웨어를 내 C 드라이브에 다운로드하여 설치했습니다.

  2. 그런 다음 명령 줄에서 [Windows 시작의 cmd를 열고 cmd를 열기 전에 마우스 오른쪽 버튼을 클릭하여 관리자로 cmd를 실행합니다.] 위의 Certbot 페이지에서 명령을 입력했습니다. 즉 system32로 이동했습니다 .-- C : \ WINDOWS \ system32> certbot certonly --standalone

  3. 그런 다음 프롬프트에 따라 내 도메인 이름을 입력했습니다. 이렇게하면 C : \ Certbot yourwebsitedomain 폴더에 cert1.pem 및 key1.pem으로 인증서가 생성되었습니다. cmd 창은 이것이 어디에 있는지 알려줍니다.

  4. 그런 다음이 이름을 cert1.pem에서 내 도메인 이름 또는 shorter + cert.pem으로 변경하고 domainname 또는 shorter + key.key에 대해서도 동일하게 변경했습니다. 이 파일을 각각 C : \ xampp \ apache \ ssl.crt 및 ssl.key 폴더에 복사했습니다.

  5. 그런 다음 G : \ xampp \ apache \ conf \ extra \ httpd-vhosts에 대해 다음을 입력했습니다.

<VirtualHost *:443>
    DocumentRoot "G:/xampp/htdocs/yourwebsitedomainname.hopto.org/public/" ###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
    ServerName yourwebsitedomainnamee.hopto.org 
    <Directory G:/xampp/htdocs/yourwebsitedomainname.hopto.org>
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "G:/xampp/apache/logs/error.log"
    CustomLog "G:/xampp/apache/logs/access.log" common
    SSLEngine on
SSLCertificateFile "G:\xampp\apache\conf\ssl.crt\abscert.pem"
SSLCertificateKeyFile "G:\xampp\apache\conf\ssl.key\abskey.pem"
</VirtualHost>  
     
  1. 그런 다음 G : \ xampp \ apache \ conf \ extra \ httpd-ssl.conf로 이동하여 위에서 설명한대로 수행했습니다. 이 게시물을 읽을 때까지 며칠 동안이 중요한 단계를 놓쳤습니다. 감사합니다! 즉 입력
<VirtualHost _default_:443>
DocumentRoot "G:/xampp/htdocs/yourwebsitedomainnamee.hopto.org/public/"
###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
SSLEngine on
SSLCertificateFile "conf/ssl.crt/abscert.pem"
SSLCertificateKeyFile "conf/ssl.key/abskey.pem"
CustomLog "G:/xampp/apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  

주석 1. www.noip.com 을 사용 하여 도메인 이름을 등록했습니다. 노트 2. 대신 내가 작동하도록 가져올 수 없었기 때문에 SSL 인증서를 제공하도록 시도하십시오. 위의 방법이 대신 작동했습니다. Note3 저는 noip DUC 소프트웨어를 사용하여 개인적으로 호스팅하는 웹 사이트를 noip와 동기화 상태로 유지합니다. 주석 4. xampp에서 변경할 때마다 xampp 서버를 중지하고 시작하는 것이 매우 중요합니다. xampp 콘솔을 시작하는 대신 어떤 이유로 xampp가 실패하면 xampp 시작을 시도하면 문제를 해결할 수 있으므로 버그를 수정할 수 있습니다. 빠르게 복사하여 note.txt에 붙여 넣습니다.


1

Mac OS (catalina 또는 mojave)를 사용 중이고 Mac 용 XAMPP에서 HTTPS / SSL을 활성화하려는 경우 가상 호스트를 활성화하고 XAMPP에 포함 된 기본 인증서를 사용해야합니다. httpd-vhosts.conf파일에 새 가상 호스트를 추가 하십시오 .

<VirtualHost *:443>
    ServerAdmin webmaster@localhost.com
    DocumentRoot "/Users/your-user/your-site"
    ServerName your-site.local
    SSLEngine on
    SSLCertificateFile "etc/ssl.crt/server.crt" 
    SSLCertificateKeyFile "etc/ssl.key/server.key"
    <Directory "/Users/your-user/your-site">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

0

여기에 Windows에 대한 더 나은 가이드가 있습니다.

https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/

기본 단계 :

  1. 다음을 사용하여 로컬 도메인에 대한 SSL 인증서를 만듭니다. 위의 링크에서 자세한 내용을 참조하십시오 . https://gist.github.com/turtlepod/3b8d8d0eef29de019951aa9d9dcba546 https://gist.github.com/turtlepod/e94928cddbfc46cfbaf8c3e5856577d0

  2. Windows (신뢰할 수있는 루트 인증 기관)에이 인증서를 설치합니다. 위 링크에서 자세한 내용을 참조하십시오.

  3. Windows 호스트 (C : \ Windows \ System32 \ drivers \ etc \ hosts)에 사이트를 추가합니다. 예 : 127.0.0.1 site.test

  4. XAMPP conf (C : \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf)에 사이트를 추가합니다. 예 :

     <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
     </VirtualHost>
     <VirtualHost *:443>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
        SSLEngine on
        SSLCertificateFile "crt/site.test/server.crt"
        SSLCertificateKeyFile "crt/site.test/server.key"
     </VirtualHost>
    
  5. Apache와 브라우저를 다시 시작하면 완료됩니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.