首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nginx在网页中显示内部主机和端口

使用nginx在网页中显示内部主机和端口
EN

Stack Overflow用户
提问于 2013-12-02 07:19:33
回答 2查看 2.1K关注 0票数 0

我有两个网站运行在两个tomcat服务器上(独立的机器或局域网IP)。下面是我的nginx配置:

代码语言:javascript
复制
server { # simple reverse-proxy
    listen       80;
    server_name  server1.com www.server1.com;

    # pass requests for dynamic content to rails/turbogears/zope, et al
    location / {
      proxy_pass      http://192.168.1.141:8080;
    }
}

server { # simple reverse-proxy
    listen       80;
    server_name  server2.com www.server2.com;

    # pass requests for dynamic content to rails/turbogears/zope, et al
    location / {
      proxy_pass      http://192.168.1.129:8080;
    }
}

Nginx和server1的IP (192.168.1.141)运行在相同的硬件上。一切似乎都运行得很好,除了当我在server1上转到某个页面时,该页面(以及后续页面)上的所有相对URL都变成了http://192.168.1.141:8080/blah而不是http://www.server1.com/blah。有许多页面工作正常,并使用www.server1.com和默认端口(80)维护主机/端口。我找不到为什么一些页面工作,而另一些页面更改主机和端口。任何帮助都是非常感谢的。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-12-02 16:50:23

我会在代理代码块中添加这一行

代码语言:javascript
复制
proxy_set_header Host $http_host;

这将使后端服务器检测到外部主机,而不是内部IP。

编辑

<base>标记为页面中的所有相对链接提供了一个基础,例如,如果我的页面驻留在foo.com上,并且我放置了一个base = bar.com,例如下面这样的url

代码语言:javascript
复制
<a href = '/some/random/uri'>click me</a>

通常情况下,它应该指向http://foo.com/some/random/uri,但基会使它指向bar.com/some/random/uri

这就是base页面工作的原因。

票数 0
EN

Stack Overflow用户

发布于 2013-12-16 23:42:27

原来我的Tomcat版本是6.0。在后来的版本中引入了用于传递real-ip的阀门。在获得6.0.37之后,它现在工作得很好。

在Tomcat server.xml文件中,在引擎块中添加以下内容。

代码语言:javascript
复制
 <!--pass remote IP into the log-->
  <Valve className="org.apache.catalina.valves.RemoteIpValve"
      remoteIpHeader="x-forwarded-for"
      protocolHeader="x-forwarded-proto"
      protocolHeaderHttpsValue="https" />

In nginx.conf:

  location / {
      proxy_pass      http://saturn.com:81;
      proxy_redirect off;
      proxy_buffering off;
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP       $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20318503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档