反向代理
nginx 可以根据服务器传来的请求,转发到其他端口。是的客户端只有知道反向代理的 IP 地址,而不知道在代理服务器后面你的服务集群的存在。
反向代理可以解决前后端跨域问题。比如我启动了前台服务和后台服务,域名都是本机回环 IP。前台端口为 2000,后台端口为 3000。
我可以使用 nginx 的反向代理功能,来将 127.0.0.1:80 访问 127.0.0.1:2000,将 127.0.0.1:80/api 访问 127.0.0.1:3000。
配置文件如下:
server {listen 80;server_name 127.0.0.1;location / {proxy_pass http://127.0.0.1:2000;}location /api/ {proxy_pass http://127.0.0.1:3000/;}}
这里需要注意的是在配置后台反向代理时
http://127.0.0.1:3000/后面一定要加上/,或者当访问127.0.0.1:80/api时,访问的地址为127.0.0.1:3000/api而不是127.0.0.1:3000/。
