Как включить https (localhost) url на сервере WAMP (v2.5)?

Я использую wamp-сервер и запускаю php-проект в localhost. Я хотел бы протестировать мой проект, используя URL-адрес, основанный на "https".

Я попытался с помощью https://localhost/myproject/ "и перенаправил меня на страницу" Эта страница недоступна".

Я включил модуль "php_openssl" и "ssl" в конфигурацию apache. Но по-прежнему не удается получить доступ к https-адресу.

Ответ 1

Сначала вам необходимо настроить WAMP с ключом и сертификатом:

  • Загрузите openssl, выберите подходящую версию в соответствии с вашей операционной системой из здесь.
  • Установите его, чем запустите cmd и получите там, где вы его установили:   cd 'C:\OpenSSL-Win**' убедитесь, что находитесь в соответствующей папке

  • выполните следующие команды:

    • C:\OpenSSL-Win..\bin>openssl genrsa -aes256 -out private.key 2048
    • C:\OpenSSL-Win..\bin>openssl rsa -in private.key -out private.key
    • C:\OpenSSL-Win..\bin>openssl req -new -x509 -sha1 -key private.key -out certificate.crt -days 36500 -config C:\OpenSSL-Win..\bin\openssl.cfg

    Вам будет предложено ввести пароль для private.key, название страны и т.д.

  • Как только вы закончите, файлы будут сгенерированы: private.key и certificate.crt, создайте папку, назовите ее ключ в этом пути C:\wamp...bin\apache\apache2.*.**\conf.

  • Откройте этот файл httpd.conf. Вы обнаружите, что в C:\wamp...bin\apache\apache2.*.**\conf раскомментируйте эти строки, удалив # в начале строки, а затем сохраните файл.

    LoadModule ssl_module modules/mod_ssl.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    Include conf/extra/httpd-ssl.conf
    
  • Откройте httpd-ssl.conf файл, вы найдете его также в C:\wamp...bin\apache\apache2.*.**\conf\extra и измените значение по умолчанию этими строками, обратите внимание на путь, я создал папку ssl внутри C:/wamp../bin/apache/apache2.*.**/logs/

    <VirtualHost _default_:443>
    #   General setup for the virtual host
    DocumentRoot "C:/wamp../www"
    ServerName localhost:443
    ServerAdmin [email protected]
    ErrorLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/error.log"
    TransferLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/access.log"
    ....
    CustomLog "C:/wamp../bin/apache/apache2.*.**/logs/ssl/ssl_request.log" \
    ....
    SSLCertificateFile "C:/wamp../bin/apache/apache2.*.**/conf/key/certificate.crt"
    SSLCertificateKeyFile "C:/wamp../bin/apache/apache2.*.**/conf/key/private.key"
    

    после этого сохраните файл.

  • Я скопировал ssleay32.dll и libeay32.dll из C:\wamp..\bin\php\php7.0.10 в папку c:\windows\system32.

  • окончательно проверьте конфигурацию в cd C:\wamp64\bin\apache\apache2.4.23\bin и запустите эту команду httpd -t, если все будет в порядке, вы получите.

    C:\wamp64\bin\apache\apache2.4.23\bin>httpd -t
    Syntax OK
    
  • https://localhost/ будет работать для вас:)

Ответ 2

По умолчанию вы не можете использовать протокол https для своих соединений с Wamp. Что вам нужно сделать, так это настроить самозаверяющий сертификат на wamp.

Для получения дополнительной информации следуйте этот учебник.