如何用nginx解决前端部署跨域问题

 更新时间:2024年07月02日 10:17:52   作者:biaobiaogege  
这篇文章主要介绍了如何用nginx解决前端部署跨域问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

该方法是在云服务器上【ubuntu18.04】源码编译nginx,【另外一种直接用apt下载】

源码编译安装

  • 下载
 wget http://nginx.org/download/nginx-1.19.0.tar.gz
 sudo tar zxf nginx-1.19.0.tar.gz
  • 安装依赖软件
 sudo apt install -y gcc make libpcre3 libpcre3-dev zlib1g zlib1g-dev openss
  • 编译
 cd nginx-1.19.0/
 sudo ./configure
 sudo make
 sudo make install

得到以下结果,编译安装成功

命令

/usr/local/nginx/sbin/nginx是个可执行文件,是nginx的main process

cd /usr/local/nginx/sbin
./nginx -v //查看版本号
./nginx //启动nginx
./nginx -s stop //停止nginx
./nginx -s quit //安全退出
./nginx -s reload //重新加载配置文件【常用】
ps aux|grep nginx 查看nginx进程

前端部署反向代理配置

/usr/local/nginx/conf 文件下的nginx.config是配置文件

nginx.config文件主要有全局块,events块,http块。主要在http块配置

sudo vim /usr/local/nginx/conf/nginx.config

找到http块下的server块,修改类似于如下代码块,即能完成反向代理配置。

server {
        listen       80; #监听端口
        server_name  localhost; #可以改成自己的域名或者ip
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   dist; # 前端build文件所在位置与/usr/local/nginx/conf平级
            index  index.html index.htm; #入口文件
            try_files $uri $uri/ /index.html; #好像可以解决history路由,不过我用的hash
        }
 
        location /shadow/api {     # 这个就是代码中的想要访问的baseurl
            proxy_pass http://1.13.xxx.xxx:80; # [例如]反向代理的服务器真正的ip
            add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; #支持请求方式
            add_header 'Access-Control-Allow-Headers' 'Content-Type,*';
        }
}

保存只会用命令进行配置重新加载

sudo /usr/local/nginx/sbin/nginx -s reload

效果

如果build正确,并且配置生效,直接在浏览器访问【xxx.xxx.xxx.xxx:80】能够看到前端页面,括号里面是云服务器的ip,进入自己租的云服务器界面复制,比如腾讯云在下图这里复制。

不是配置的反向代理的ip

以上例子的反向代理ip是http://1.13.xxx.xxx:80

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx服务器高性能优化的配置方法小结

    Nginx服务器高性能优化的配置方法小结

    这篇文章主要介绍了Nginx服务器高性能优化的配置方法小结,包括一些内核参数的优化介绍,需要的朋友可以参考下
    2015-12-12
  • Nginx 解决504错误超时问题小结

    Nginx 解决504错误超时问题小结

    本文主要介绍了ginx出现504 Gateway Timeout错误的原因,通常是因为程序执行时间过长导致响应超时,下面就来介绍一下解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Nginx中if语句的判断条件与多条件判断详解

    Nginx中if语句的判断条件与多条件判断详解

    这篇文章主要介绍了关于Nginx中if语句的判断条件与多条件判断的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Crontab和Shell脚本切割Nginx日志使用详解

    Crontab和Shell脚本切割Nginx日志使用详解

    这篇文章主要为大家介绍了Crontab和Shell脚本切割Nginx日志,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 一文带你搞懂Nginx中的配置文件

    一文带你搞懂Nginx中的配置文件

    Nginx(发音为“engine-x”)是一款高性能的 Web 服务器、反向代理服务器和负载均衡器,广泛应用于全球各类网站和应用中,下面就跟随小编一起来了解下如何配置 Nginx 以满足不同的需求吧
    2025-01-01
  • Nginx配置请求头携带原始请求信息的实现

    Nginx配置请求头携带原始请求信息的实现

    本文主要介绍了Nginx配置请求头携带原始请求信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • 超实用的Nginx常见配置合集分享

    超实用的Nginx常见配置合集分享

    这篇文章主要为大家详细介绍了超实用的Nginx常见配置合集,文中的示例代码讲解详细,对我们学习或工作有一定的参考价值,感兴趣的可以了解一下
    2022-07-07
  • 利用nginx与ffmpeg搭建流媒体服务器过程详解

    利用nginx与ffmpeg搭建流媒体服务器过程详解

    这篇文章主要给大家介绍了利用nginx与ffmpeg搭建流媒体服务器的全过程,文中介绍的很详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • nginx虚拟主机配置实例详解

    nginx虚拟主机配置实例详解

    这篇文章主要介绍了nginx虚拟主机配置实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • nginx限流及配置管理实战记录

    nginx限流及配置管理实战记录

    流量限制(rate-limiting)是Nginx中一个非常实用,却经常被错误理解和错误配置的功能,下面这篇文章主要给大家介绍了关于nginx限流及配置管理的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-04-04

最新评论