我有一个域名,我转发到服务器。我通过godaddy获得了域名,它可以选择转发或转发屏蔽。我选择转发屏蔽,因为转发会产生一个带有服务器IP的网址。例如:
192.121.1.1/html/index.html
而使用屏蔽转发会导致域显示而不是IP,但它不会反映URL中的导航。例如
domainName.com/
但是当导航到另一个页面时,我仍会得到相同的基本网址,当我期待更像是
domainName.com/path/to/file.html
这个问题的一个问题是,当从网站上的任何页面刷新时,它将加载domainName.com
页面而不是用户想要刷新的页面。
有人可以解释转发IP地址的内容吗?它掩盖了什么?有没有办法避免这种行为,只需使用域名获取文件的路径?
答案 0 :(得分:2)
最有可能的是,"前进与掩蔽"意味着go-daddy服务器始终处于活动状态 - 提供一个隐藏的框架"到该网页的客户端。该框架在go-daddy服务器上进行管理,框架本身只会加载您实际的 visual 页面。这通常会导致许多问题 - 出现错误警告,使用多个DNS主机时出现问题(特别是当一个是内部主机时)。
我坚持使用前进而不使用屏蔽。只需在子域中创建一个A记录(如server1.domainname.com。),并将其IP地址作为转发服务器的地址。
这里的真正问题是服务器在用户的URL栏中显示其IP地址,而不是其DNS名称。这意味着您可能拥有一个调用实际IP地址的Web应用程序(或Web应用程序的某个组件)。您可能知道这一点,但使用固定的IP地址是一个坏主意,并将导致问题 - ,尤其是如果您屏蔽URL栏 !
答案 1 :(得分:0)
我们刚遇到同样的问题,花了几分钟才找出解决方案 - 正如之前的回答所示,GoDaddy利用框架机制,但为了安全(我们没有任何明确的配置),我们的服务器发回一个标题,其中X-Frame-Options设置为阻止(如果打开chrome调试窗口并查看网络数据包,则可以看到此信息)。对于这个特定的站点,我们在nginx服务器后面运行一个基于sinatra的ruby应用程序。我们的解决方案是修改nginx.conf文件,以从传出响应中删除X-Frame-Options标头。 所以,基本上,在GoDaddy上我们有: 域名:http://71.168.231.129:8903/mypage(forward并屏蔽)
在我们的nginx conf中 location @app { proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header主机$ http_host; proxy_redirect off; proxy_hide_header X-Frame-Options; #传递给上面提到的上游独角兽服务器 proxy_pass http://unicorn_server; }