我在将域名与 nginx 服务器连接时遇到了很多问题。
我有/etc/nginx/sites-available/
一个名为 rsmweb 的文件:
server {
# this is only 1 of the many configs I've tried..
listen 80;
server_name rsm.website;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl spdy;
server_name rsm.website;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
..etc
我创建了一个符号链接到/etc/nginix/sites-enabled/default
当我使用与本地主机类似的配置时,它可以工作,但现在我尝试使用我的域名,但却遇到了麻烦。
在一些尝试中,当我用我的 ip 替换以下代码时,我可以使用我的 ip 而不是我的域名进行连接。我不明白的是,如果我的域名指向我的 ip,为什么它不起作用?
我的域名配置如下:
HOST NAME IP ADDRESS/ URL RECORD TYPE MX PREF TTL
@ 82.216.93.120 A (Address) n/a 1800
www 82.216.93.120 A (Address) n/a 1800
读了一些资料后,我觉得我需要添加我的 IP/域名/etc/hosts
82.216.93.120 rsm.website
但是我在一篇博客里发现,如果域名指向ip的话,就没有必要那么做......
我真的很困惑,很困惑,谢谢你的帮助!
答案1
您正在使用带有 IPv4 地址的 AAAA 记录,这不起作用:) 使用 A 记录,您会没事的。
还要向 nginx 添加一些 vhost 特定的日志来查看是否有任何请求到达那里,并检查服务器的监听程序来netstat -plant
确定 nginx 是否是监听端口 80 和 443 的程序。
答案2
在您的 DNS 记录中:IP 地址是 ipv4 地址,但记录类型设置为 AAAA(专门用于 ipv6 地址)。您可以将记录类型更改为 A 吗?我之前也没有见过 @ 记录,因此我会先使用 www 条目。server_name rsm.website www.rsm.website;
但是,您应该将其添加到 nginx 中的 server_name ()。通常您不必在 /etc/hosts 中设置条目。