前端必备 Nginx 配置

$host | 请求信息中的Host,如果请求中没有Host行,则等于设置的服务器名 || $request_method | 客户端请求类型,如GET、POST || $remote_addr | 客户端的IP地址 || $args | 请求中的参数 || $content_length | 请求头中的Content-length字段 || $http_user_agent | 客户端agent信息 || $http_cookie | 客户端cookie信息 |
摘要由CSDN通过智能技术生成

| $host | 请求信息中的Host,如果请求中没有Host行,则等于设置的服务器名 |

| $request_method | 客户端请求类型,如GET、POST |

| $remote_addr | 客户端的IP地址 |

| $args | 请求中的参数 |

| $content_length | 请求头中的Content-length字段 |

| $http_user_agent | 客户端agent信息 |

| $http_cookie | 客户端cookie信息 |

| $remote_addr | 客户端的IP地址 |

| $remote_port | 客户端的端口 |

| $server_protocol | 请求使用的协议,如HTTP/1.0、·HTTP/1.1` |

| $server_addr | 服务器地址 |

| $server_name | 服务器名称 |

| $server_port | 服务器的端口号 |

解决跨域

先追本溯源以下,跨域究竟是怎么回事。

跨域的定义

同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。通常不允许不同源间的读操作。

同源的定义

如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。

image

nginx解决跨域的原理

例如:

前端server的域名为:fe.server.com

后端服务的域名为:dev.server.com

现在我在fe.server.com对dev.server.com发起请求一定会出现跨域。

现在我们只需要启动一个nginx服务器,将server_name设置为fe.server.com,然后设置相应的location以拦截前端需要跨域的请求,最后将请求代理回dev.server.com。如下面的配置:

server {

listen 80;

server_name fe.server.com;

location / {

proxy_pass dev.server.com;

}

}

这样可以完美绕过浏览器的同源策略:fe.server.com访问nginx的fe.server.com属于同源访问,而nginx对服务端转发的请求不会触发浏览器的同源策略。

请求过滤

image

根据状态码过滤

error_page 500 501 502 503 504 506 /50x.html

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于前端配置nginx反向代理,你可以按照以下步骤进行操作: 1. 安装nginx:首先,你需要在你的服务器上安装nginx。你可以通过以下命令进行安装: ``` sudo apt-get update sudo apt-get install nginx ``` 2. 配置反向代理:接下来,你需要修改nginx配置文件来设置反向代理。默认情况下,nginx配置文件位于`/etc/nginx/nginx.conf`。 打开该文件,找到 `http` 部分,在此部分内添加以下代码: ```bash server { listen 80; server_name your-domain.com; # 替换为你的域名 location / { proxy_pass http://your-backend-server-ip:your-backend-server-port; # 替换为你的后端服务器IP和端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 注意将 `your-domain.com` 替换为你的域名,将 `your-backend-server-ip` 替换为你的后端服务器IP地址,将 `your-backend-server-port` 替换为你的后端服务器端口号。 3. 保存并关闭文件后,重新加载nginx配置:执行以下命令,重新加载nginx配置文件: ```bash sudo nginx -s reload ``` 这样,你的前端应用就会通过nginx反向代理转发请求到后端服务器。确保后端服务器正常运行,并监听了你在配置中指定的端口。 请注意,以上步骤是在Linux系统上进行的,如果你在其他操作系统上使用nginx,可能会有一些不同。另外,确保你已经将域名解析到了正确的IP地址上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值