nginx怎么配置tomcat反向代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx怎么配置tomcat反向代理相关的知识,希望对你有一定的参考价值。

参考技术A 1. 前期准备

nginx 安装成功

tomcat 安装成功

2. 更改nginx的配置文件

更改nginx.conf文件,在http/server/location层次结构下,添加proxy_pass http://localhost:7080; 一句话即可。注意不要放了;结尾。

3. 重启nginx,在浏览器中输入nginx的访问地址,显示的就是Tomcat的访问地址。

4. 现在虽然nginx反向代理成功了,但是为了更好的发挥nginx的性能。我们将Tomcat的js、html、图片等静态文件配置到nginx上进行缓存,这样就可以提高应用的访问效率了。

5. 删除 location / 节点,避免全部请求被拦截。新增 location ~ \.jsp$ 节点和 location ~ \.(html|js|css|png|gif|jpg)$ 节点,如下图。

6. 访问http://10.0.6.108:7788,返回nginx 404。这是因为匹配的location,应用自动跳转到nginx的404.

访问http://10.0.6.108:7788/index.jsp,返回到tomcat页面。因为jsp会自动匹配配置的location。

访问http://10.0.6.108:7788/tomcat.png,也能正确显示tomcat的logo。说明nginx配置的静态文件location是生效的。

至此,Nginx配置反向代理Tomcat完成。

Nginx怎么配置反向代理

有时候,为了保护我们的服务器或者想做负载均衡等原因,我们需要反向代理来实现这个功能,今天我就来简单讲下怎么配置反向代理

方法/步骤

  1. 假设我们有个tomcat服务,端口为8080。

    这里以centos7为例,找到我们的nginx配置文件。

    一般默认位置在/etc/nginx文件夹中。

  2. 查看我们的nginx主配置文件。

    cat /etc/nginx/nginx.conf

    我们可以看到配置文件中含有这一行

     include /etc/nginx/conf.d/*.conf;

    它代表nginx启动时会加载conf.d/下的所有.conf的配置文件。

  3. 我们切换到conf.d目录下

    cd conf.d

    创建文件tomcat.conf

    vi tomcat.conf

    添加如下配置:

    upstream site {

            server 127.0.0.1:8080;

    }


    server {

    listen 80;

    # server_name 这里填写你的域名

    server_name example.com;  

    # 匹配静态文件,进行缓存

    location ^~ static/ {

        expires      30d;

        root /tomcat_server/ROOT/static/;

    }


    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|js|css|htm|zip|rar|tar|gz)$ {

          expires      30d;

    root /tomcat_server/ROOT/;

        }


    # 这里是关键的地方,这里匹配/ 进行反向代理。


    location / {

                 # 下面的参数可以获取客户真实IP

                  proxy_http_version      1.1;

                  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;    

                  client_max_body_size    50m;    

                  client_body_buffer_size 128k;

                  proxy_buffer_size       4k;    

                  proxy_buffers           32 4k;

                  proxy_busy_buffers_size 64k;  

                  proxy_connect_timeout   30;    

                  proxy_send_timeout      300;    

                  proxy_read_timeout      300;

                  # 这个参数就是反向代理指令

                  proxy_pass http://site;

    }


    }

  4. 4

    编辑完毕后,可以通过nginx -t测试配置文件是否正确。

    不正确可以根据提示进行修改!

    然后重启nginx,就可以使用nginx代理Tomcat服务了。



以上是关于nginx怎么配置tomcat反向代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx怎么配置反向代理

tomcat 配置nginx 反向代理

技术干货Nginx配置反向代理

Nginx总结如何配置Nginx和Tomcat实现反向代理

nginx反向代理多个tomcat服务

Centos7下Nginx+Tomcat配置反向代理