【发布时间】:2013-12-03 23:27:21
【问题描述】:
我正在开发几个网站,并通过虚拟服务器和不同的文档根目录将它们配置为基于端口进行访问。 IE。 localhost:8010 用于一个站点,localhost:8020 用于另一个站点。
在我有多个站点之前,SSL 仅在一个使用端口 80 和 443 的情况下运行良好。但是现在未受保护的站点可以正常加载,但是对于任何一个站点都无法建立 SSL 连接。它似乎也没有改变端口——当我点击以 https:// 开头的链接时,它会尝试转到 https://localhost:8010/secure/route。
我可以使用https://localhost:8010/secure/route 之类的网址,或者根据站点自动升级到其他端口(即https://localhost:8011/project/one/secure/route、https://localhost:8021/project/two/secure/route)或其他任何东西,只要我可以使用不同的端口和 SSL 在本地运行两个站点!
在我的 httpd.conf 我有:
Listen 8010
Listen 8020
还有:
<Directory "/path/to/project/one">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
<Directory "/path/to/project/two">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
在我的 httpd-vhosts.conf 我有:
<VirtualHost *:8010>
ServerAdmin zugwalt@projectone.com
DocumentRoot "/path/to/project/one"
ServerName localhost:8010
ErrorLog "logs/projectone-error.log"
CustomLog "logs/projectone-access.log" common
</VirtualHost>
<VirtualHost *:8020>
ServerAdmin zugwalt@projecttwo.com
DocumentRoot "/path/to/project/two"
ServerName localhost:8020
ErrorLog "logs/projecttwo-error.log"
CustomLog "logs/projecttwo-access.log" common
</VirtualHost>
在我的 httpd-ssl.conf 我有:
Listen 443
<VirtualHost *:443>
DocumentRoot "/path/to/project/one"
ServerName localhost:8010
SSLEngine on
SSLCertificateFile /path/to/ssl/server.crt
SSLCertificateKeyFile /path/to/ssl/server.key
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/path/to/project/two"
ServerName localhost:8020
SSLEngine on
SSLCertificateFile /path/to/ssl/server.crt
SSLCertificateKeyFile /path/to/ssl/server.key
</VirtualHost>
我在 Windows 7 上使用 Apache 2.4
【问题讨论】:
标签: apache ssl https localhost multiple-sites