nginx配置反向路由代理

Posted guxiaohai_

tags:

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

一:简介

本文章介绍如何通过nginx路由代理转发。主要是解决前端vue使用了路由代理方式,然后在使用nginx转发时就请求获取不到接口真实地址,所以需要在nginx配置文件中进行相应配置,具体啥配置…哈哈哈看下面吧

二:nginx配置

server 
	listen       8084;	#nginx转发端口
	server_name  localhost;	#服务器名称

	#charset koi8-r;

	#access_log  logs/host.access.log  main;
	
	#代理http地址(pigFarmServer头部用于区分表示是那个路由)
	location ~ /pigFarmServer/ 
		rewrite ^/pigFarmServer/(.*)$ /$1 break;
		proxy_pass http://localhost:8081;	#接口服务器地址ip:端口
	
	#代理websocket地址(socket头部用于区分表示是那个路由)
	location ^~ /socket/ 
		rewrite ^/socket/(.*)$ /$1 break;
		proxy_pass http://localhost:8081;	#接口服务器地址ip:端口
		proxy_http_version 1.1;
		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_read_timeout 120s;

		proxy_set_header Upgrade websocket;
		proxy_set_header Connection Upgrade;
	
	#代理html前端地址
	location / 
		root   D:/xm/vsofo_iot_client/dist;	#vue build打包dist绝对路径
		index  index.html index.htm;
	
	error_page   500 502 503 504  /50x.html;
	location = /50x.html 
		root   html;
	

  1. 至于什么时候用波浪线?
    ~,波浪线表示执行一个正则匹配,区分大小写
    ~*,表示执行一个正则匹配,不区分大小写
    ^~,表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
    =,进行普通字符精确匹配
    @,定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

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

Ceryx —— 基于 NGINX OpenResty 的动态反向代理

使用 nginx 反向代理后面的 keycloak 保护 nodejs 中的路由

Nginx反向代理web程序解决谷歌跨越问题配置详解 #yyds干货盘点#

Nginx服务器作反向代理实现内部局域网的url转发配置

NGINX动态反向代理

nginx 80端口反向代理多个域名,怎样隐藏端口的