Я пытаюсь открыть сайт, используя https://mydomain.com , но всегда вижу: Вы говорите по обычному протоколу HTTP с портом сервера с поддержкой SSL. Но с http сайт работает ...
Я использую Apache 2.2.22, без nginx. Вот мой apache.conf:
NameVirtualHost *:80
Listen 80
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
# Listen 443
vhosts:
ServerName mydomain.com:80
SSLEngine off
DocumentRoot /var/www/www-root/data/www/mydomain.com
ServerAdmin admin@mydomain.com
AddDefaultCharset UTF-8
AssignUserID www-root www-root
CustomLog /var/www/httpd-logs/mydomain.com.access.log combined
ErrorLog /var/www/httpd-logs/mydomain.com.error.log
SetHandler application/x-httpd-php
ServerName mydomain.com
ScriptAlias /cgi-bin/ /var/www/www-root/data/www/mydomain.com/cgi-bin/
ScriptAlias /php-bin/ /var/www/php-bin/www-root/
ServerAlias www.mydomain.com
SetHandler application/x-httpd-php-source
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f admin@mydomain.com"
php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
php_admin_value open_basedir "none"
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f admin@mydomain.com"
php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
php_admin_value open_basedir "none"
AllowOverride All
Options +Includes +ExecCGI
php_admin_flag engine on
php_admin_flag engine on
ServerName mydomain.com:443
DocumentRoot /var/www/www-root/data/www/mydomain.com
ServerAdmin admin@mydomain.com
AddDefaultCharset UTF-8
SSLEngine on
SSLCertificateFile "/var/www/httpd-cert/www-root/mydomain.com.crt"
SSLCertificateKeyFile "/var/www/httpd-cert/www-root/mydomain.com.key"
SSLCertificateChainFile "/var/www/httpd-cert/www-root/mydomain.com.ca"
SSLHonorCipherOrder on
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
AssignUserID www-root www-root
CustomLog /var/www/httpd-logs/mydomain.com443.access.log combined
ErrorLog /var/www/httpd-logs/mydomain.com443.error.log
SetHandler application/x-httpd-php
ServerName mydomain.com
ScriptAlias /cgi-bin/ /var/www/www-root/data/www/mydomain.com/cgi-bin/
CustomLog /var/www/httpd-logs/mydomain.com.access.log combined
ErrorLog /var/www/httpd-logs/mydomain.com.error.log
ScriptAlias /php-bin/ /var/www/php-bin/www-root/
ServerAlias www.mydomain.com
SetHandler application/x-httpd-php-source
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f admin@mydomain.com"
php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
php_admin_value open_basedir "none"
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f admin@mydomain.com"
php_admin_value upload_tmp_dir "/var/www/www-root/data/mod-tmp"
php_admin_value session.save_path "/var/www/www-root/data/mod-tmp"
php_admin_value open_basedir "none"
Что ж, я не знаю, что делать. Я купил SSL-сертификат Aplpha, он работает как минимум с ISPManager, но я не могу открыть сайт по https. Пожалуйста помоги!
ssl.conf:
#
# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the SSL library.
# The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
#
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512
##
## SSL Global Context
##
## All SSL configuration in this context applies both to
## the main server and all SSL-enabled virtual hosts.
##
#
# Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
# Pass Phrase Dialog:
# Configure the pass phrase gathering process.
# The filtering dialog program (`builtin' is a internal
# terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog builtin
# Inter-Process Session Cache:
# Configure the SSL Session Cache: First the mechanism
# to use and second the expiring timeout (in seconds).
# (The mechanism dbm has known memory leaks and should not be used).
#SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300
# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate. See the
# ciphers(1) man page from the openssl package for list of all available
# options.
# Enable only secure ciphers:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
# Speed-optimized SSL Cipher configuration:
# If speed is your main concern (on busy HTTPS servers e.g.),
# you might want to force clients to specific, performance
# optimized ciphers. In this case, prepend those ciphers
# to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
# Caveat: by giving precedence to RC4-SHA and AES128-SHA
# (as in the example below), most connections will no longer
# have perfect forward secrecy - if the server's key is
# compromised, captures of past or future traffic must be
# considered compromised, too.
#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
#SSLHonorCipherOrder on
# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2
# Allow insecure renegotiation with clients which do not yet support the
# secure renegotiation protocol. Default: Off
SSLInsecureRenegotiation off
# Whether to forbid non-SNI clients to access name based virtual hosts.
# Default: Off
SSLStrictSNIVHostCheck off
Проблема решена. Это все из-за моего фреймворка. Мне нужно было разрешить ssl-соединения. Спасибо всем за помощь)
Преобразование существующих веб-сайтов/приложений с http на https сопряжено с многочисленными «подводными камнями», на которые следует обратить внимание --после изменения сервера. Ни в коем случае не полный, но ниже приведены некоторые вещи, с которыми мне пришлось иметь дело. Просто отправная точка --для элементов, которые нужно проверить, чтобы свести к минимуму WTF-моменты.
Разрешение ssl-соединений в любой (веб-)среде приложения, которую вы ранее установили, — это, конечно, один из них. (вордпресс, друпал, джумла,...)
Внесение соответствующих изменений в любые файлы.htaccess (не должно менять все https на http ).
Если у вас есть какие-либо перенаправления домена на ваш домен, возможно, их необходимо настроить.
Кроме того, чтобы убедиться, что конечные пользователи не получают предупреждающие сообщения/значки, отображаемые при просмотре вашего веб-сайта через https :Предлагаем вам тщательно изучить ссылки на внешние ресурсы (javascript, css, изображения ), загруженные на вашу страницу, чтобы убедиться, что они не используют http://
, а не https://
.
Предлагаю проверять не только веб-страницы, но и страницы с ошибками.
И, конечно же, если у вас есть какие-либо «плагины -» или вы используете сторонние -дополнения -в приложениях, необходимо тщательно изучить все места, где они используются.
Все вышеперечисленные проблемы пришлось исправлять при перемещении веб-сайтов на сервер, на котором для моих SSL-сертификатов установлено «Let’s Encrypt». Я оставил «исходные веб-сайты» доступными на старом сервере и в нескольких случаях указывал веб-сайты обратно на этот сервер, пока я разбирал все, что требовало исправления.