精华内容
下载资源
问答
  • nginx反向代理配置去除前缀

    万次阅读 多人点赞 2019-01-07 00:13:28
    使用nginx反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加"/" server ...

    使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:

    方法一:加"/"

    server {
        listen              8000;
        server_name         abc.com;
        access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;
    
        location ^~/user/ {
            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_set_header X-NginX-Proxy true;
    
            proxy_pass http://user/;
        }
    
        location ^~/order/ {
            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_set_header X-NginX-Proxy true;
    
            proxy_pass http://order/;
        }
    }
    

    ^~/user/表示匹配前缀是user的请求,proxy_pass的结尾有/, 则会把/user/*后面的路径直接拼接到后面,即移除user

    方法二:rewrite

    upstream user {
      server localhost:8089 weight=5;
    }
    upstream order {
      server localhost:8090 weight=5;
    }
    
    server {
        listen              80;
        server_name  abc.com;
        access_log  "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G"  main;
    
        location ^~/user/ {
            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_set_header X-NginX-Proxy true;
    
            rewrite ^/user/(.*)$ /$1 break;
            proxy_pass http://user;
        }
    
        location ^~/order/ {
            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_set_header X-NginX-Proxy true;
    
            rewrite ^/order/(.*)$ /$1 break;
            proxy_pass http://order;
        }
    }
    

    proxy_pass结尾没有/rewrite重写了url。

    参考资料1

    展开全文
  • Nginx反向代理配置

    千次阅读 2019-06-04 12:33:38
    Nginx反向代理总结 1.Nginx使用命令: 1. 启动命令:start nginx;...2.Nginx反向代理配置: ​ 配置之前需要配置hosts文件: ​ hosts文件路径一般如下: hosts文件的配置如下: #配置图片服务器 server{ l...

    1.Nginx使用命令:

    1. 启动命令:start nginx;(在nginx.exe目录下)
    2. 重启命令:nginx -s reload;
    3. 快速关闭命令:nginx -s stop;
    4. 友好的关闭:nginx -s quit.
    

    修改完Nginx配置文件需要重启Nginx才会生效.

    2.Nginx反向代理配置:

    ​ 配置之前需要配置hosts文件:
    hosts文件的作用是完成域名和指定IP地址的映射。
    ​ hosts文件路径一般如下:在这里插入图片描述
    hosts文件的配置如下:
    在这里插入图片描述3.Nginx本地代理配置:

    	#后台管理服务器(代理端口)
    	server{
    		listen 80;							#代理监听端口
    		server_name manage.jt.com;			#需要代理的url域名
    		location /{
    			#proxy_pass 表示代理的路径			
    		proxy_pass http://localhost:8091;	#需要代理的url请求
    			}
    		}
    	
    

    4.Nginx图片代理配置:

    	#配置图片服务器
    	server{
    		listen 80;					#表示监听80端口
    		server_name image.jt.com;	#表示需要代理的url域名
    		location /{
    			root E:/image;			#表示代理到的本地磁盘目录
    		}
    		
    	}
    

    经过以上配置,当我们再访问manage.jt.com时,访问路径等同于localhost:8091

    Nginx配置的含义:

    在这里插入图片描述
    1.location

    location = / {
        [ configuration A ]
    }
    
    location / {
        [ configuration B ]
    }
    
    location /documents/ {
        [ configuration C ]
    }
    
    1. "=/“表示只拦截url+”/"请求;
    2. "/“表示拦截url+”/"开头的请求,如:http://xxx.xxx.xxx/index.html;
    3. "/documents/“表示拦截url+”/documents/…"的请求;
    展开全文
  • nginx 反向代理配置

    2018-07-19 10:55:09
    nginx常用命令 启动: nginx 重启: nginx -s reload 关闭: nginx -s stop nginx反向代理配置 server { listen 80; #监听的端口 server_name m.testa.com; ...

    nginx常用命令

    启动: start nginx
    重启: nginx -s reload
    关闭: nginx -s stop

    nginx反向代理配置

        server {
            listen       80;                            #监听的端口
            server_name  m.testa.com;                   #监听请求来自m.testa域名的
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location / {                                #请求是来自根目录的 / eg:来自http://m.testa.com都会请求到http://127.0.0.1:8081 服务器
                    proxy_pass    http://127.0.0.1:8081;#目标服务器
                    proxy_redirect default;
            }
        }
        server {
            listen       80;            #监听的端口
            server_name  pc.testb.com;  #监听请求来自pc.testb域名的
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location /api/ {            #请求是来自目录的 /api/ 到 192.100.201.22:9081服务器
                proxy_pass    http://192.100.201.22:9081/;
                proxy_redirect default ;
            }
            location / {                #请求是来自目录的 / 127.0.0.1:8080 服务器
                proxy_pass    http://127.0.0.1:8080;
                proxy_redirect default;
            }
        }
    展开全文
  • nginx反向代理配置

    2017-05-23 16:07:51
    nginx反向代理配置 阅读更多内容www.jaxqin.com 什么叫反向代理?服务器代理网络上的客户机请求,将请求转达给内部真实服务器,然后在返回给Internet客户端在这里先说下我为什么要用nginx的反向代理? 我们项目的...

    nginx反向代理配置

    阅读更多内容www.jaxqin.com

    什么叫反向代理?服务器代理网络上的客户机请求,将请求转达给内部真实服务器,然后在返回给Internet客户端


    在这里先说下我为什么要用nginx的反向代理?
    我们项目的tomcat服务器设置的端口为9090,而域名解析默认是给解析到80端口中。例如我们的

    服务器地址是:http://117.11.22.88:9090
    域名是:abc.com

    abc.com在这里是指向http://117.11.22.88:80的,然后我们需要让http://117.11.22.88:80反向代理到http://117.11.22.88:9090
    找到nginx.conf配置文件,进行以下修改:

    server {
        #侦听的80端口
        listen       80;
        server_name  abc.com; 
    
        location / {
            proxy_pass   http://117.11.22.88:9090;    
        }
    }

    这样设置完成,当访问abc.com(其实也是abc.om:80)的时候 nginx就会自动帮我们解析到真实服务器地址http://117.11.22.88:9090

    一个服务器放多个项目使用ngingx解析

    例如tomcat的webapps下面有两个网站项目分别叫web1 和 web2,那么怎么配置呢?
    找到nginx.conf配置文件,进行以下修改:

    server {
        #侦听的80端口
        listen       80;
        server_name  web1.com; 
    
        location / {
            proxy_pass   http://117.11.22.88:9090/web1;    
        }
    }
    server {
        #侦听的80端口
        listen       80;
        server_name  web2.com; 
    
        location / {
            proxy_pass   http://117.11.22.88:9090/web2;    
        }
    }

    完事。

    操作步骤:

    打开cmd, 打开到nginx的目录下面
    1: start nginx.exe 这样就运行起来了
    2: nginx -s reload 一般修改完配置文件 运行这个

    展开全文
  • Nginx 反向代理配置

    2020-08-07 10:40:51
    Nginx是一款轻量级Web服务器,也是一款反向代理服务器 官网:http://nginx.org/ 中文文档: http://www.nginx.cn/doc/ nginx可以提供的服务有: 1. web 服务 2. 负载均衡 (反向代理) 3. web cache(web 缓存) ...
  • nginx反向代理配置文件: - 客户端和nginx之间通过https连接 - nginx和服务器端之间通过http连接
  • Nginx反向代理配置实例 Nginx反向代理配置实例、及一台Nginx配置多个反向代理。 本文主要配置Nginx的反向代理,及公司有多台服务器都需要公司一台主Nginx代理配置。使用Nginx+Tomcat实现此项目的反向代理,至于Nginx...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,832
精华内容 5,932
关键字:

nginx反向代理配置