【发布时间】:2015-12-04 13:50:19
【问题描述】:
我对 apache2 和虚拟主机有疑问。我运行具有多个站点的服务器。我有指向我的服务器 IP 的子域设置。我的客户,那些选择拥有自己的域名的客户将他们的域/子域指向我的子域之一。我已经在多个站点上完成了此操作,并且一直有效,除了现在,我不知道为什么。 这是似乎不起作用的虚拟主机,当我尝试访问它时它总是指向我的默认站点。
域重定向是这样的。 customer.domain.com -> customer.mydomain.com -> 服务器 IP
<VirtualHost customer.domain.com:443>
ServerName customer.domain.com
ServerAlias *customer.domain.com *customer.mydomain.com
DocumentRoot /var/www/page
<Directory />
Order Deny,Allow
Deny from all
</Directory>
<Directory /var/www/page>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/customer/logs/error.log
LogLevel warn
CustomLog /var/log/apache2/customer/logs/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
此格式用于所有其他站点,它们被定向到正确的文件夹和站点。但是对于这个特定站点,它总是会被定向到默认站点。
我注意到,当我运行 apache2ctl -S 时,我得到了两个 IP。一个是我的所有虚拟主机的服务器 IP,第二个 IP 似乎连接到新的虚拟主机,那个不起作用。
52.52.52.52:443 customer.domain.com (/etc/apache2/sites-enabled/006-customer.domain.com.conf:1)
12.12.12.12:443 is a NameVirtualHost
default server default.mydomain.com (/etc/apache2/sites-enabled/001-default.mydomain.com.conf:1)
port 443 namevhost default.mydomain.com (/etc/apache2/sites-enabled/001-default.mydomain.com.conf:1)
alias www.default.mydomain.com
port 443 namevhost customer2.domain.com (/etc/apache2/sites-enabled/002-customer2.domain.com.conf:1)
alias www.customer2.domain.com
wild alias *subdomain.mydomain.com
*:80 default.mydomain.com (/etc/apache2/sites-enabled/000-default.conf:1) ..... more
我不确定要查找什么,日志似乎没有告诉我任何有用的信息。
关于我可能做错了什么有什么想法吗?谢谢。
【问题讨论】:
-
更新:我注意到当我尝试通过“https://”customer.domain.com 访问该站点时,我得到 ERR_CONNECTION_RESET,该网站不可用。如果没有 https,我会直接进入默认站点。
-
可能是由于错误的 Listen 指令或没有虚拟主机 *:443?
-
@covener 你能详细说明一下吗?谢谢。
-
您应该确保您正在侦听端口 443 上的所有接口,而不是特定接口(通过检查您的侦听配置)您还应该确保存在与所有接口匹配的启用 SSL 的虚拟主机(*:443) 而不是特定的。如果您考虑我在下面的回答将您置于典型配置中,您将免费获得此功能。
标签: apache virtualhost