Nginx的重定向到的域名,而不是IP地址
问题描述:
我从GoDaddy的域名认为它作为一个www.example.com,而从的Linode(Ubuntu的16.04 LTS)服务器。我有一个静态网页,它是通过Nginx是由侦听端口9000提供服务,把它作为0.0.0.0:9000。Nginx的重定向到的域名,而不是IP地址
server {
root /home/webapps/mysite;
index index.html index.htm;
listen 0.0.0.0:9000;
server_name example.com www.example.com;
location/{
try_files $uri $uri/ /index.html;
}
}
我在的Linode DNS管理员添加的域名并加入GoDaddy的域名前冲。
在浏览器中,如果我使用0.0.0.0:9000我的网站页面打开正确,如果我用的域名使用example.com在浏览器域名更改为IP地址并打开我的网页,为什么正在发生的事情是这样,为什么我的域名被变回IP地址,我错过了什么?
答
的“域名向前”域名注册机构的特征表明,你已经配置为拥有自己的域名redirect
(301 Moved Permanently
)到另一个网站 - 你显然必须配置它重定向到http://192.0.2.50/,因此,这就是将在浏览器中显示出来。
配置域(这将避免您遇到上述问题)的正确方法是而不是更改DNS设置:
- 添加一个名为
@
记录(意思是example.com.
),其类型为A
,值为192.0.2.50
- 添加
www
(意思是,www.example.com.
)类型的记录CNAME
和价值@
以上设置,您可以与您的注册,或,或者的界面中进行,通过委托域名您的托管服务提供商,并随后保持设置在那里。
显然,为了不必指定端口号,你必须改变你的nginx的配置在端口80上运行它正常工作的域。
备选地,如果上面的是太复杂了,另一个快速的方法来避免从显示在浏览器中向上的IP地址是使用“域掩蔽”转发类型。