我有一个Apache 2.4服务器,我已经创build了一个自签名证书,用于testinghttps与新的客户端站点。 我遇到的问题是,当我尝试转到在单独的vhosts.conf文件中设置的定义的虚拟主机时,始终为我的站点加载ssl.conf文件。
有人可以帮我理解为什么所需的虚拟主机永远不会加载,只有默认是?
我的ssl.conf内容
Listen 443 https SSL Global Context SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin <VirtualHost _default_:443> DocumentRoot "/var/www/html" ServerName localhost:443 ErrorLog logs/default_ssl_error_log TransferLog logs/default_ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
我的虚拟主机文件内容
<VirtualHost demo.ffh.com:443> ServerAdmin [email protected] ServerName demo.ffh.com DocumentRoot "/var/www/vhosts/ffh/public" RewriteEngine On # And THIS doesn't seem to be working at all! LogLevel debug rewrite:trace8 <Directory "/var/www/vhosts/ffh/public/"> AllowOverride all SSLOptions +StdEnvVars #Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all SSLRequireSSL On </Directory> SSLEngine on SSLCertificateKeyFile /etc/httpd/ssl/ssl.key/demo_ffh.key SSLCertificateFile /etc/httpd/ssl/ssl.crt/demo_ffh.crt <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 CustomLog logs/ssl_ffh-access.log combined ErrorLog logs/ssl_ffh-error.log </VirtualHost>
有没有人看到为什么vhosts.conf网站被忽略,有利于默认? 我该如何解决这个问题? 一整天,我的头撞在墙上。
注意:“可能值得大声呼唤,我已经尝试了vhost.conf中的IP地址和*:443,而不是域名,但仍然没有爱情。
好的…我想我已经修好了 吴
我不确定这件作品到底是什么,但是我做的最后几件事是:
噢,也许这里学到的教训?
我一直有这个问题,有四个解决scheme
如果您只有一个SSL证书的整个机器,这是好的。
这给了我在SSL.conf中的configuration,并允许我为多个SSL证书确定自己的VirtualHost条目(如有必要)
这也适用于我的vhosts.conf文件中的多个SSL证书,但是让我感觉很脏,因为我正在更改名称。 我想可以使用010-vhosts.conf 020-ssl.conf的conf.modules.d-meets-sitesenabled语法,并且感觉稍微不太脏。
呃…也许对一些人来说..虽然我不喜欢那样。