我在httpd.conf中configuration了这样的子网站
<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连接。 如果我这样做,在它的configuration文件config.inc.php中通过以下方式:
$cfg['ForceSSL'] = true;
我被redirect到“Apache 2testing页面”(在https上)。 我需要改变什么才能保持单独的https连接phpmyadmin
您必须创build虚拟主机的副本,将其端口设置为443并添加SSLconfiguration指令。
<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>
定义ssl虚拟主机
<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>
一些例子redirect到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>