Nginx入门及如何反向代理解决生产环境跨域问题

栏目: 服务器 · Nginx · 发布时间: 5年前

内容简介:通常开发环境可以通过设置proxy解决跨域问题,而生产环境下要么把前端项目放在后端项目里,要么设置cor解决跨域问题,前者不利于前后端分离,后者需要后端配置,而现在使用nginx做启动服务设置反向代理可以很好解决跨域问题。

1.Nginx入门与基本操作篇

注:由于服务器是windows系统,所以本文主要讲解Nginx在windows下的操作。

  • 首先下载 Nginx
  • 解压缩,我们所有的配置基本都在万能的 nginx/conf/nginx.conf 中完成,其它文件可以不用理
  • 关于nginx.conf
...
#需要我们按需要修改的一般只有中间server里的代码
    server {
        # 设置监听端口
        listen       9000;
        server_name  localhost;
        # 设置静态资源路径,如下设置打输入地址时会打开H盘app/dist下的index页面
        location / {
            root   H:/app/dist;
            index  index.html;
        }
        # 报错页面,同上根据需要设置,也可不理
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
...
  • 这样一个简单服务的配置就完成了,启动服务访问 http://localhost :9000 即可打开对应网页,如果需要启动多个服务,只需多添加server配置后重启即可。
  • 几个常用的操作指令(以下指令请在nginx文件目录下使用)
# 启动nginx(我的情况是运行起来后cmd就输入不了其它指令了,需要在打开一个cmd来操作)
    nginx.exe
# 修改nginx.conf文件后重启nginx
    nginx.exe -s reload
# 暂停nginx服务
    nginx.exe -s stop
# 有时暂停服务失效,需要强制终止nginx进程 注:/f 强制执行
    taskkill /im nginx.exe /f

2.反向代理解决跨域问题

通常开发环境可以通过设置proxy解决跨域问题,而生产环境下要么把前端项目放在后端项目里,要么设置cor解决跨域问题,前者不利于前后端分离,后者需要后端配置,而现在使用nginx做启动服务设置反向代理可以很好解决跨域问题。

  • 还是回到万能的nginx.conf文件,添加location匹配规则实现代理转发
server {
        listen       9000;
        server_name  localhost;
        
        location / {
            root   H:/app/dist;
            index  index.html;
        }
        #设置代理转发
        location /api/ {
          proxy_pass   http://localhost:9600/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  • 通过上面的设置,在重启服务,可以让页面中所有包含 /api/ 字段的请求都转为由服务器去向 http://localhost :9600/地址发送请求,从而巧妙的解决了浏览器的跨域问题。
  • 怎么样,是不是很简单,快动手配置是试试吧(^_^)~

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux Device Drivers

Linux Device Drivers

Jonathan Corbet、Alessandro Rubini、Greg Kroah-Hartman / O'Reilly Media / 2005-2-17 / USD 39.95

Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas ......一起来看看 《Linux Device Drivers》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具