在我的 DigitalOcean droplet 中,我尝试使用 NginX 在同一个 droplet 上托管多个网站。我可以访问测试域名1.com和域名1.com有或没有使用默认服务器标签。但是,访问域名2.com仅呈现内容域名1.com(带有 default_server 标签的服务器块)而不将 URL 转发到域名1.com在浏览器中。我检查了我的配置中是否有拼写错误,但没有发现。其次,access.log 和 error.log 都没有问题。
这主机名我的 droplet 是 domain1.com。我创建了2 个 DNS 条目:1 个用于 domain1.com,另一个用于 domain2.com。两者都具有相同的 A 记录和 CNAME 记录。
@ A ip.add.re.ss www CNAME @ * CNAME @
我的配置是:
/etc/nginx/nginx.conf:
http://pastebin.com/AWf5EM66
/etc/nginx/global/wordpress.conf:
http://pastebin.com/Uc9KSqhh
/etc/nginx/global/restrictions.conf:
http://pastebin.com/cLfMv6jC
/etc/nginx/sites-available/sites.conf:
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/domain1_test;
index index.php index.html index.htm;
server_name test.domain1.com;
include global/restrictions.conf;
include global/wordpress.conf;
}
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/domain2.com;
index index.php index.html index.htm;
server_name www.domain2.com;
include global/restrictions.conf;
include global/wordpress.conf;
}
server {
listen 80 default_server;
listen [::]:80;
root /usr/share/nginx/html/domain1.com;
index index.php index.html index.htm;
server_name www.domain1.com;
include global/restrictions.conf;
include global/wordpress.conf;
}
有什么线索吗?
答案1
这是因为您没有以 domain2.com 作为 server_name 的服务器,只有 www.domain2.com。请将 domain2.com 作为 server_name 添加到与 www.domain2.com 相同的服务器,或者为 domain2.com 创建另一个服务器,并使用 return 重定向到 www.domain2.com。