У меня была та же проблема, что и у @ User39604, и я должен был следовать РАЗЛИЧНЫМ советам.Поскольку он не помнит точный путь, по которому он шел, позвольте мне перечислить мой путь:
проверьте, есть ли у вас SSL YES, используя <?php echo phpinfo();?>
при необходимости
A. включить ssl на apache sudo a2enmod ssl
B. установить openssl sudo apt-get install openssl
C. проверить, открыт ли порт 443 sudo netstat -lp
D. , если необходимо, изменить /etc/apache2/ports.conf
, это работает
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
получить ключ и сертификат по
A. , уплатив Центру сертификации (Comodo, GoDaddy, Verisign) за пару
B. создание собственного * - см. Ниже (ТОЛЬКО в целях тестирования)
измените свою конфигурацию (в ubuntu12 /etc/apache2/httpd.conf
- по умолчанию это пустой файл), чтобы включить правильный <VirtualHost>
(замените MYSITE.COM
, а также ключ и путь / имя сертификата, чтобы указать ваш сертификат и ключ):
<VirtualHost _default_:443>
ServerName MYSITE.COM:443
SSLEngine on
SSLCertificateKeyFile /etc/apache2/ssl/MYSITE.COM.key
SSLCertificateFile /etc/apache2/ssl/MYSITE.COM.cert
ServerAdmin MYWEBGUY@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/errorSSL.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/accessSSL.log combined
</VirtualHost>
, в то время как многие другие конфигурации виртуального хоста будут доступны в /etc/apache2/sites-enabled/
и в /etc/apache2/sites-available/
это было /etc/apache2/httpd.conf
тЭто было крайне важно для решения всех проблем.
для получения дополнительной информации:
http://wiki.vpslink.com/Enable_SSL_on_Apache2
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#selfcert
* создание собственного сертификата (самостоятельноподпись) приведет к сертификату, полномочия которого браузер пользователя не распознает.следовательно, браузер будет кричать о кровавом убийстве, и пользователю придется «понять риски» десятки раз, прежде чем браузер действительно откроет страницу.Таким образом, это работает только для целей тестирования.Сказав это, это как:
Перейти в папку Apache (в Ubuntu12
/etc/apache2/
) создать папку, такую как
ssl
(или все, что работает для вас, имя не является системным требованием) Перейтивыбранный каталог
/etc/apache2/ssl
запустить
sudo openssl req -new -x509 -nodes -out MYSITE.COM.crt -keyout MYSITE.COM.key
использовать
MYSITE.COM.crt
и
MYSITE.COM.key
в теге
<VirtualHost>
формат имени НЕ находится подстрогое системное требование, должно совпадать с файлом :) - имена вроде 212-MYSITE.COM.crt
, june2014-Godaddy-MYSITE.COM.crt
должны работать.