我正在尝试在现有的 digitalocean droplet 中实现第二个域。
因为我在 DO 上,所以我关注了 ryanpq 在这个帖子上的回答:https://www.digitalocean.com/community/questions/is-it-possible-to-install-another-wordpress-on-droplet
与该主题的评论者类似,我的新网站会重定向到我现有的网站(即使在适当更改 DocumentRoot 和 Directory 之后)。
这是我的配置:
其中/etc/apache2/sites-enabled
,我有 4 个文件:000-default-le-ssl.conf 000-default.conf example1.conf example2.conf
000-default.conf
且example1.conf
均为副本。
example1.conf
看起来像这样:
# Added to mitigate CVE-2017-8295 vulnerability
UseCanonicalName On
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example1.io
ServerAlias www.example1.io
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example1.io [OR]
RewriteCond %{SERVER_NAME} =example1.io
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
example2.conf
看起来像这样:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example2.com
ServerAlias www.example2.com
DocumentRoot /var/www/example2
<Directory /var/www/example2/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/var/www/html
我的目录结构如下/var/www/example2
在 DNS 控制面板中,我创建了新的 A 和 CNAME 记录。A 记录指向较旧的现有站点的 IP 地址(因此,example2.com 指向 128....)
访问 example2.com 会将我重定向到 example1.io。
我错过了什么?
答案1
配置错误?
首先,您的example1.conf
文件不包含结束</VirtualHost>
标记。由于此文件在第二个域之前加载,example2.conf
因此可能无法正确加载。重新加载 Apache 时是否出现任何错误?您可以使用它mod_info
来验证两个虚拟主机是否都已正确加载。
域名系统
我不完全理解你关于 DNS 的评论。你提到“旧网站的 IP 地址”,好像新网站有不同的 IP 地址?由于你的同一台虚拟机 (droplet) 托管两个网站,因此所有名称都应指向虚拟机的这个 IP 地址,无论是直接(A 记录)还是间接(CNAME 记录)。
例如:
example1.io. A 203.0.113.80
www.example1.io. CNAME example1.io
example2.com. A 203.0.113.80
www.example2.com. A 203.0.113.80
您可以使用以下方法测试并验证所有名称都指向同一个 IP 地址平或者挖从命令行界面。
HTTPS
当您将 example1.io 重定向到 HTTPS 时,您的000-default-le-ssl.conf
文件是什么样子的。您是通过 HTTP 还是 HTTPS 测试 example2.com?
日志
当您访问http://www.example2.com/并且您看到了 example1.io 的网页,您的日志显示了什么?