使用nginx的rewrite实现代理指定目录命令方法,nginxrewrite
使用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; }}
评论暂时关闭