前言

话说悲催的一天从跨域开始!不知道没有前端工程化的时候,业界是怎么处理跨域的!同源策略?jsonp?还是做代理呢?

可以说本人百分之95以上的时间都是在写工程化的项目!众所周知,工程化项目里可以配置代理解决跨域,我也写过两篇关于配置代理的文章!但是jq如何做代理,还真没有做过!

你可能会说,让后端写下请求头,允许跨域不就好了么!我只想说,我也想,但是沟通不来啊!

没办法!那就自己创造办法吧!

什么事跨域

出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)

MacOS安装nginx

  • 查询要安装的软件是否存在
1
brew search nginx

  • 查看要安装的软件的详细信息以及安装在什么目录中
1
brew info nginx

可以看到,nginx在本地还未安装(Not installed),nginx的来源(From),Docroot默认为/usr/local/var/www,在/usr/local/etc/nginx/nginx.conf配置文件中默认端口被配置为8080从而使nginx运行时不需要加sudo,nginx将在/usr/local/etc/nginx/servers/目录中加载所有文件,以及我们可以通过最简单的命令 ‘nginx’ 来启动nginx。

  • 开始安装:
1
sudo brew install nginx

第一次安装忘记加sudo了!导致权限不足!

  • 查看是否安装成功以及安装的目录

  • 查看nginx配置文件目录(是否如info所说)
1
open /usr/local/etc/nginx/

成功打开nginx目录,也可以看到如info所说servers目录以及nginx.conf的配置文件(后面会用到这个配置文件)。但我们并没有找到nginx被安装到了哪里(因为这个是配置目录嘛)。

  • 查看nginx被安装到的目录
1
open /usr/local/Cellar/nginx

  • 启动nginx
1
nginx

  • 验资nginx是否启动成功

浏览器访问localhost:8080

  • 查看配置文件里的配置内容
1
cat /usr/local/etc/nginx/nginx.conf

  • 查看网站跟目录
1
open /usr/local/var/www/

配置代理

稍后更新

nginx 常用命令

1
2
3
4
5
6
7
8
9
/**
* 如果报无权限 则在命令前加上 sudo 然后输入密码
*/
nginx // 启动
nginx -s quit // 平稳退出命令
sudo nginx -s stop // 快速停止命令
nginx -s reload // 重新加载
nginx -s reopen // 重新打开命令
nginx -t //测试nginx.conf配置

nginx在mac上日志的路径/usr/local/var/log/nginx/access.log

如果能够帮助到你,是小编最大的荣幸

当然 有 不好的地方 请大家帮忙指出 学习永无止境

小编一直认为 人外有人 天外有天 一起学习 共同进步

让我们共同加油吧!!!