使用nginx的rewrite实现代理指定目录命令方法

简介: 使用nginx的rewrite实现代理指定目录命令方法使用nginx代理Tomcat,Tomcat发布web的时候通常都是带着项目名称的,比如项目名称为“aven",那么发布之后就需要使用:http://127.

使用nginx的rewrite实现代理指定目录命令方法

使用nginx代理Tomcat,Tomcat发布web的时候通常都是带着项目名称的,

比如项目名称为“aven",那么发布之后就需要使用:http://127.0.0.1:8080/aven 来访问,

如何让别人直接通过IP即:http://127.0.0.1 来访问呢?

可以使用rewrite命令来实现这个功能,配置文件如下:

server {
    listen      80;
    server_name  localhost;
    location / {
        rewrite ^/(.*)$ /aven/$1 last;
    }
    location ~* ^/aven/.*$ {
        proxy_pass http://127.0.0.1:8080;
    }
}

这种配置方法在使用中还是有一些问题,

1、Url中还是会看到aven这个目录;

2、Session丢失了。

目前还没找到好的解决方案。

2017-03-30更新

之前的方式出现了Session丢失的问题,一直没找到解决方案;
今天又有小伙伴问到,来更新一下。
Session丢失应该是 rewrite 的时候 没有设置 header 的原因。

 
server {
    listen 80;
    server_name  localhost;
 
    access_log  logs/quancha.access.log  main;
    error_log  logs/quancha.error.log;
    root   html;
    index  index.html index.htm index.php;
 
    ## send request back to apache ##
    location / {
        proxy_pass  http://127.0.0.1:8080/aven;
 
        #Proxy Settings
        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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
   }
}


目录
相关文章
|
3天前
|
应用服务中间件 nginx
nginx配置项目的几种方法
nginx配置项目的几种方法
18 0
|
3天前
|
JSON JavaScript 前端开发
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
33 1
|
3天前
|
网络协议 应用服务中间件 Linux
centos7 Nginx Log日志统计分析 常用命令
centos7 Nginx Log日志统计分析 常用命令
152 2
|
3天前
|
数据可视化 应用服务中间件 网络安全
简单易用的Nginx代理管理工具:体验便捷配置、高效管理
Nginx Proxy Manager是一款强大的代理服务器管理工具,提供简单直观的界面来配置和管理Nginx代理服务器,帮助用户轻松提升配置的简洁性和便捷性。
76 0
简单易用的Nginx代理管理工具:体验便捷配置、高效管理
|
3天前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
64 0
|
3天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
254 0
|
3天前
|
应用服务中间件 Linux nginx
web后端-linux-nginx-1.18操作命令和部署
web后端-linux-nginx-1.18操作命令和部署
|
3天前
|
负载均衡 应用服务中间件 Linux
|
3天前
Nginx---代理遇到的坑
Nginx---代理遇到的坑
20 1
|
3天前
|
应用服务中间件 nginx
nginx工作中常用的一些命令
nginx工作中常用的一些命令