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


分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

使用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;   }}


           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

相关内容

    暂无相关文章