IP转发/屏蔽

时间:2014-04-12 23:03:10

标签: networking dns ip

我有一个域名,我转发到服务器。我通过godaddy获得了域名,它可以选择转发或转发屏蔽。我选择转发屏蔽,因为转发会产生一个带有服务器IP的网址。例如:

192.121.1.1/html/index.html

而使用屏蔽转发会导致域显示而不是IP,但它不会反映URL中的导航。例如

domainName.com/

但是当导航到另一个页面时,我仍会得到相同的基本网址,当我期待更像是

domainName.com/path/to/file.html

这个问题的一个问题是,当从网站上的任何页面刷新时,它将加载domainName.com页面而不是用户想要刷新的页面。

有人可以解释转发IP地址的内容吗?它掩盖了什么?有没有办法避免这种行为,只需使用域名获取文件的路径?

2 个答案:

答案 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;         }