SSL не работает на Wampserver: невозможно загрузить модули / mod_ssl.so в сервер [duplicate]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

15
задан Ammar Hayder Khan 8 October 2014 в 09:48
поделиться

7 ответов

66
ответ дан RiggsFolly 17 August 2018 в 23:09
поделиться

Если у вас есть ошибка примерно так:

Cannot load modules/mod_ssl.so into server: The specified module could not be found.
  1. Возможно, вы захотите попробовать найти libeay32.dll в своей папке с папкой, вы, вероятно, найдете ее в папке {wamp folder} / bin / php / php {version 7} /
  2. Скопируйте файлы libeay32.dll и ssleay32.dll и вставьте их в папку {wamp folder} / bin / apache / apache {version 2.x} / bin / AND { папка wamp} / bin / php / php {verion 5.x}. УБЕДИТЕСЬ, что вы делаете резервное копирование всего, что вы размещаете.
  3. запустите httpd -t и протестируйте синтаксис

ПРИМЕЧАНИЕ. Я считаю, что это связано с ошибкой в ​​части apache openssl для wamp 3.0.6. К счастью, в папке php7 эти библиотеки DLL совместимы для apache и php5.

2
ответ дан Anson Woody 17 August 2018 в 23:09
поделиться

@RiggsFolly: некоторые небольшие ошибки / опечатки / дополнения в вашем учебнике. Ниже используется в сочетании с WAMPServer 2.5 64 бит (Apache 2.4.9 и PHP 5.5.12) в Windows 7 SP1 64 бит:

-httpd-vhosts.conf находится в файле extra / httpd-vhosts.conf

- когда вы пытаетесь отредактировать файл ваших хостов, обязательно отключите любой virusscanner. Некоторые из них блокируют доступ к файлу хостов.

- обязательно откройте текстовый редактор как администратор при редактировании файла хостов или получите ошибку, пытающуюся сохранить.

-don ' t забыть удалить # в начале строки хоста, если есть

, если вы используете WAMPServer 64 бит, обязательно загрузите 64-битную версию OpenSSL

- шаг openssl genrsa -out сайт \ server.key 2048 создает файл server.key, а не файл privkey.pem!

-file \ wamp \ bin \ apache \ apachex.yz \ conf \ httpd-ssl.conf находится в \ wamp \ bin \ apache \ apachex.yz \ conf \ extra \ httpd-ssl.conf (возможно, это зависит от версии WAMPServer)

- Мне пришлось использовать разные порты для http (80-> 8080) и https (443-> 444), поскольку эти порты, где используется, я думаю, Skype. Если вы используете разные порты, обязательно используйте их везде, где вы видите 80 или 443 в этом учебнике

- мне также пришлось включить socache_shmcb_module. «Httpd -t» также упомянул об этом.

2
ответ дан Jan 17 August 2018 в 23:09
поделиться

Необходимо активировать модуль LoadModule socache_shmcb_module modules / mod_socache_shmcb.so в файле httpd.conf в wampserver 2.5. Если не apache выдает следующее сообщение:

AH00526: Синтаксическая ошибка в строке 75 в C: /wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: 'shmcb 'кеш сеанса не поддерживается (известные имена:). Возможно, вам нужно загрузить соответствующий модуль socache (mod_socache_shmcb?).

5
ответ дан Juan Diego Trujillo Perez 17 August 2018 в 23:09
поделиться

Прежде всего:

1) .Shutdown WAMP и перейдите к C:\wamp\scripts\config.inc.php, перейдите из массива libeay32.dll, ssleay32.dll, строк 133,139

2). Установите OpenSSL из официальный сайт, обратите внимание на версию вашей ОС x64 или нет.

Командная строка:

3). cd C:\wamp\bin\apache\apache2.4.23\bin

4). openssl req -new > localhost.csr

5). openssl rsa -in privkey.pem -out localhost.key

6). openssl x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 365 -sha256 -extfile v3.ext

Обновление: из Chrome 58 нам нужно предоставить Subject Alternative Name. Это имя мы можем получить из файла расширения v3.ext:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 127.0.0.1
DNS.2 = localhost

Очень важно в Common Name вставить 'localhost'

7) .Grab localhost.key и localhost.crt и установите их в C:\wamp\bin\apache\apache2.4.23\conf\key (обязательно, прежде чем создать соответствующий каталог)

Конфигурация:

8) .enable в C:\wamp\bin\apache\apache2.4.23\bin\php.ini и

C:\wamp\bin\php\php5.6.25\php.ini extension=php_openssl.dll

9). перейти к C:\wamp\bin\apache\apache2.4.23\conf\httpd.conf и раскомментировать:

LoadModule ssl_module modules/mod_ssl.so,

Include conf/extra/httpd-ssl.conf,

Include conf/extra/httpd-vhosts.conf,

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

10). перейдите к C:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-ssl.conf

и внесите изменения:

SSLSessionCache "shmcb:c:/wamp/bin/apache/apache2.4.23/logs/ssl_scache(512000)",

SSLSessionCacheTimeout 300,

VirtualHost _default_:443,

DocumentRoot "c:/wamp/www/",

ServerName localhost:443,

ErrorLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_error.log"

, (создать файл, если он не существует)

TransferLog "c:/wamp/bin/apache/apache2.4.23/logs/access.log",

SSLCertificateFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.crt",

SSLCertificateKeyFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.key",

<Directory "c:/wamp/www/">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

,

  CustomLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_request.log"

Обработка сертификатов:

11). Нажмите Win + R и вставьте 'certmgr.msc', import servercert.crt в «Доверенные корневые сертифицированные органы»

12). Проверьте свой сервер в командной строке: «httpd -t» должен быть «Синтаксис OK»

13). Запустите Wamp и перейдите к ссылке https://localhost

Я надеюсь, что это поможет

Примечание: прочитайте эту статью о поведении Mozilla:

https://blog.mozilla.org/security/2014/09/23/phasing-out-certificates-with-sha-1-based-signature-algorithms/
1
ответ дан Kirill Shur 17 August 2018 в 23:09
поделиться

@RiggsFolly: самоподписанный сертификат с ключом можно легко сгенерировать, например, здесь ... http://www.selfsignedcertificate.com/ , поэтому я мог бы начать учебник с шага 4 ( У меня также был стандарт: 80 виртуальных серверов работает.)

В любом случае некоторые упомянутые вещи уже были включены в настройке по умолчанию WAMP (я думаю, это меняется от версии к версии), но все остальное мне очень помогло. И на самом деле одна вещь отсутствовала ... Мне также пришлось раскомментировать следующую строку в «httpd.conf»

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
1
ответ дан Pěna 17 August 2018 в 23:09
поделиться

Если у вас есть ошибка:

Не удается загрузить модули / mod_ssl.so на сервер: операционная система не может запустить% 1

. Затем у вас есть to:

  1. Установить Win32 OpenSSL здесь http://slproweb.com/products/Win32OpenSSL.html
  2. Скопировать / вставить libeay32.dll, ssleay32.dll в папку wp php bin (C: \ wamp64 \ bin \ php \ php5.6.19)
  3. Перезапустить apache

Примечание: Протестировано на сервере Wamp 3

1
ответ дан Tsounabe 17 August 2018 в 23:09
поделиться
  • 1
    Я пробовал это, но я не нашел libeay32.dll или ssleay32.dll внутри каталога openssl – natanelg97 28 August 2016 в 12:05
  • 2
    Я не нашел libeay32.dll или ssleay32.dll внутри C: \ OpenSSL-Win64. Но замена этих двух символических ссылок в c: \ wamp \ bin \ apache \ apache2.4.18 \ bin с копией файлов из c: \ wamp \ bin \ php \ php7.0.4 работала для меня. – Aydus-Matthew 14 October 2016 в 14:53
  • 3
    @ Aydus-Matthew OMG, который сделал это для меня, бил головой вокруг в течение нескольких дней ... почти сдался ... TNX – Exlord 11 January 2017 в 11:59
  • 4
    @ Айдус-Мэтью, любовь, которую я имею для тебя сейчас, реальна – D.Tate 11 February 2017 в 06:58
Другие вопросы по тегам:

Похожие вопросы: