У меня настроен дочерний сайт в httpd.conf
<VirtualHost *:80>
ServerName myadmin.mysite.com
DocumentRoot /var/www/html/myadmin
DirectoryIndex index.php
<Directory /var/www/html/myadmin>
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Но я хочу, чтобы phpmyadmin принудительно установил соединение https. Если я это сделаю, в его файле конфигурации config.inc.php через следующее:
$cfg['ForceSSL'] = true;
Меня перенаправляют на «Тестовую страницу Apache 2» (https). Что мне нужно изменить, чтобы соединение phpmyadmin оставалось только на https
Вы должны создать копию своего виртуального хоста, установить для него порт 443 и добавить директивы конфигурации SSL.
<VirtualHost *:443>
ServerName myadmin.mysite.com
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile conf/ssl-keys/server.crt
SSLCertificateKeyFile conf/ssl-keys/server.key
DocumentRoot /var/www/html/myadmin
DirectoryIndex index.php
<Directory /var/www/html/myadmin>
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Пример с перенаправлением на https с http:
<VirtualHost *:443>
ServerName myadmin.mysite.com
SSLEngine On
SSLCertificateFile {path-to-certificate}
SSLCertificateKeyFile {path-to-key}
DocumentRoot /var/www/html/myadmin
DirectoryIndex index.php
<Directory /var/www/html/myadmin>
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName myadmin.mysite.com
DocumentRoot /var/www/html/myadmin
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
также определите ssl vhost
<ifmodule mod_ssl.c>
<virtualhost *:443>
servername myadmin.mysite.com
documentroot /var/www/html/myadmin
directoryindex index.php
#your rest of configs + ssl cert,key,etc
sslengine on
</virtualhost>
</ifmodule>