nginx 反向代理至内网另一台机器上的tomcat 应用

问答中心分类: JAVAnginx 反向代理至内网另一台机器上的tomcat 应用
匿名用户 提问 2年 前

场景描述:
  同一公有IP 内网下2台虚拟机. 
  主机A –> 80 nginx   172.16.1.141
  主机B –> 8080 tomcat 172.16.1.151
现象
在主机A中添加 xxx.xx.com 站点,同时由于程序源路径不在本机,手动修改了下nginx–>conf–>vhost->xxx(对应域名配置文件)
以下是配置:
“`bash

server {
listen 80;
server_name  xxx.xxx.cn;
charset utf-8;
access_log /data/wwwlogs/xxx.xxx.cn_nginx.log combined;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.16.1.151:8080/app;
}

}
“`
151主机tomcat ->webapp下 放的是解压后的应用app文件夹. 启动正常.
通过ip:8080/app 访问正常.
但是我通过外网域名访问  就没转发到tomcat容器中
 
问题二: 我尝试把 151 tomcat ->conf->vhost-> localhost.xml 配置文件中default的路径修改为应用路径
想通过 http://ip:8080 方式访问,结果直接应用都无法启动.(`没错误信息.是我程序有点问题,jdk6搭配的tomcat7`)
但是我一替换回默认配置,我的应用又可以启动,太诡异了.
 
 
ps: 我在有的主机上执行./install 时会响应老半天才弹出是否ssh 端口在22的文字,这是什么原因呢?

1 问题