Nginx 配置反向代理

发表于 2020-06-05 | 最后更新于 2021-12-19 | 开发

前言

作为一个前端开发,手里很多的前端项目,其实只对应后端的一个项目,所以前端开发过程要同时启动多个微型开发服务器,但是你的80端口号则只有一个。于是我们把项目启动在了8000,9000,这种端口。

这里我们就可以采用反向代理,开启 nginx虚拟主机,监听 80 端口,并且代理你的3000端口,就完成了端口转发,从而后端配置跨域再也不需要考虑端口问题。

关于 nginx

Nginx 使用基于事件驱动架构,使得其可以支持数以百万级别的 TCP 连接。高度的模块化和自由软件许可证使得第三方模块层出不穷(这是个开源的时代啊)。Nginx 是一个跨平台服务器,可以运行在 Linux、Windows、FreeBSD、Solaris、AIX、Mac OS 等操作系统上。这些优秀的设计带来的极大的稳定性。

Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、SMTP 代理服务器。

Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。

什么是反向代理

  ‘正向代理代理客户端,反向代理代理服务器’。所谓的正向代理是用户有感知的,比如我们去访问一些国外的网站会通过一些代理服务器改变我们的ip从而达到不被墙的目的。vpn正是这个原理。而反向代理则是代理服务器,用户并不知道你把地址转发到了何处。     

用处

其实反向代理的用处有很多,可以抵御某些情况的外站攻击,减少服务器压力和访问安全控制,还能进行负载均衡,将用户请求分发给多个服务器。

不过在我这里的作用就比较简单了,我只是用它来解决一个简单的问题。      

nginx.conf 示例

 server {
        listen 80;
        server_name api.sumoli.com;
        location / {
                proxy_pass http://api.sumoli.com:3000;
                index index.jsp index.html index.htm;
        }
 }
许可协议: CC BY 4.0