nginx 反向代理 404问题

问题描述

电脑上装了两台虚拟机,内容如下:

  • shanliang 192.168.175.130 有一个tomcat
  • banyu 192。168.175.128 有一个tomcat、有一个nginx

我在两台虚拟机的 tomcat安装目录下 /webapps下创建了 test文件夹,并放了一个a.html 页面,内容是 < h1 > xxxx< /h1 >

单机测试,两个 tomcat 页面

  • shanliang 的 测试页面如下
    nginx 反向代理 404问题_第1张图片
  • banyu 的测试页面
    nginx 反向代理 404问题_第2张图片

通过配置 nginx ,尝试使用反向代理

server {
        listen       9001;
        server_name  localhost;
        location ~  /banyu/ {
            proxy_pass  http://192.168.175.128:8080;
        }
		location ~ /shanliang/ {
			proxy_pass http://192.168.175.130:8080;
		}
    }

上面的代码运行起来,报错404。。。

  • 我想着既然报错,那就去看日志,日志内容如下
    在这里插入图片描述
    然后百度了一下,是图标问题,加上如下内容
location /favicon.ico {
log_not_found off;
	access_log off;
}

反手一个 nginx -s reload 重启,还是404,这次还没错误日志了,那我去看看成功的日志,发现还真在里面。。。

那就是配置问题了,琢磨着看看开发文档,github一搜 nginx ,进去一看,开发文档排版有点差,这就算了,都是英文,脑壳有点疼。

最终解决方案

server {
        listen       9001;
        server_name  localhost;
        location  /banyu/ {
            proxy_pass  http://192.168.175.128:8080/;
        }
		location /shanliang/ {
			proxy_pass http://192.168.175.130:8080/;
		}
		location /favicon.ico {
			log_not_found off;
			access_log off;
		}
        
    }

运行结果
nginx 反向代理 404问题_第3张图片

总结

  • 有问题还是看开发文档来的实在,百度有时候真的很费力不讨好。
  • 英语很重要,不太行的英语看英文文档有点痛苦

你可能感兴趣的:(java,problems,nginx,java,tomcat,linux)