我在虚拟主机中设置SSL时遇到问题。 安装程序在不安全的网站上很好用。 我希望它能与SSLEnabled网站一起工作。
我的httpd-vhosts.conf如下:
NameVirtualHost 127.0.0.1 <IfModule mod_rewrite.c> RewriteEngine On # Redirect /binDebug folder to https RewriteCond %{HTTPS} !=on RewriteCond %{REQUEST_URI} binDebug RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L] </IfModule> <VirtualHost localhost> ServerName localhost DocumentRoot "C:\xampp\htdocs" DirectoryIndex index.php index.html <Directory "C:\xampp\htdocs"> AllowOverride All </Directory> </VirtualHost> <VirtualHost virtual.c7beta.com> ServerName virtual.c7beta.com DocumentRoot "C:\Users\zee\Documents\Flex Builder 3\CLOUD\bin-debug" DirectoryIndex index.php index.html Alias /binDebug "C:\Users\zee\Documents\Flex Builder 3\CLOUD\bin-debug/" <Directory "C:\Users\zee\Documents\Flex Builder 3\CLOUD\bin-debug"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all # SSLRequireSSL </Directory> </VirtualHost> <VirtualHost virtual.app.c7beta.com> ServerName virtual.app.c7beta.com DocumentRoot "C:\development\app_server\httpdocs" DirectoryIndex index.php index.html <Directory "C:\development\app_server\httpdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all # SSLRequireSSL </Directory> </VirtualHost> <VirtualHost virtual.s1.c7beta.com> ServerName virtual.s1.c7beta.com DocumentRoot "C:\development\storage_server\httpdocs" DirectoryIndex index.php index.html <Directory "C:\development\storage_server\httpdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all # SSLRequireSSL </Directory> </VirtualHost>
现在SSLRequiesSSL被评论。 有人可以检查这个,并告诉我应该使用https做什么改变,只是http的工作方式。
我按照以下build议进行了configuration更改: http : //robsnotebook.com/xampp-ssl-encrypt-passwords ,看起来工作正常。 但是,当我input我的servername.com时,它将redirect到servername.com/xampp
请帮助Zeeshan
确保你把端口号放在VirtualHost foo.bar这行之后
<VirtualHost Virtual.app.c7beta.com:443> ... </VirtualHost> <VirtualHost Virtual1.app.c7beta.com:80> .... </VirtualHost>
这是根据用于设置虚拟SSL服务器的apacheconfiguration文档。
在SSL协商期间,SSL证书被呈现给浏览器,这发生在HTTP协议层启动并且Host:头被发送到服务器之前,表明哪个站点是想要的。
你有两个select:
1很容易,如果你可以处理一个CA来获得这样的证书颁发。 2要求客户端和服务器都支持TLS,客户端支持SNI(这意味着一个非常现代的浏览器)并且服务器支持它,这对于Apache来说意味着需要补丁。 请参阅https://sni.velox.ch/获取补丁。