nginx处理跨域

网友投稿 256 2022-09-15

nginx处理跨域

为什么要抛出这个话题?

最近从​​mac​​​转成用​​window​​​来开发,在安装​​nginx​​的时候碰了下钉子,那我就不开心了。想着既然都安装好了,那么就搞点事情吧~

window上安装nginx

简单讲下在​​window​​​上安装​​nginx​​~

下载软件并安装

通过​​download​​下载你需要的版本,我这里下载了稳定版本​​nginx/Windows-1.16.0​​直接解压此文件即可

基本操作

进入解压的文件夹(nginx.exe)的上一级。

启动:nginx

启动之后就可以在localhost:80访问你的项目了,前提是你的80端口没有被占用

停止

快速停止:nginx -s stop优雅停止:nginx -s quit

重新加载:nginx -s reload

使用情况-更改配置;开启一个新的工作进程;优雅关闭了旧的工作进程想重新启动

重新打开:nginx -s reopen

重新打开日志文件

注意事项

在出现​​pid​​被占用的情况,你可以通过下面的方法处理:

在任务管理器中手动移除nginx占用的进程执行​​tasklist /fi "imagename eq nginx.exe"​​找出nginx占用的进程

映像名称 PID 会话名 会话# 内存使用========================= ======== ================ =========== ============nginx.exe 8248 Console 1 7,076 Knginx.exe 3052 Console 1 7,508

之后kill相关的进程就行了。

注意:有时候移除了占用的​​PID​​后还是不行,那重启下电脑~

启动​​nginx​​​后,在浏览器上输入​​localhost​​你会看到其成功启动的页面,如下图:

跨域问题

对于跨域的概念就不详细说了...

我们先关闭​​nginx​​​代理,然后开启两个​​node​​服务来进行验证,刚开始的时候,我是这样处理的:

nginx

nginx反向代理

我开启了第一个服务​​server.js​​

const = require('fs = require('fs');response) { const html = fs.readFileSync('index.html', 'utf8'); response.writeHead(200, { 'Content-Type': 'text/html' }); response.end(html);}).listen(8888);console.log('server is listening at 8888 port');

好,我开启第二个服务来提供数据源​​server2.js​​

const = require('response) { response.writeHead(200, { 'Content-Type' : 'application/json;charset=utf-8' }); let data = { name: 'nginx proxy' }; data = JSON.stringify(data); response.end(data);}).listen(8887);console.log('server2 is listen at 8887 port');

可是由于浏览器的同源策略,我没能请求到数据~

我的另外一个开启的服务是有数据的:

来,​​nginx​​​派上用场了,我修改下上面​​html​​个文件的代码,如下:

nginx

nginx反向代理

nginx代理

来,我们修改下​​nginx.conf​​文件,如下:

{ server { ... location / { root html; index index.html index.htm; } # 加入的内容 location /app/ { proxy_pass } # 加入的内容

然后开启我们的​​nginx​​​服务之后,就重启​​server.js​​​和​​server2.js​​​服务。之后在浏览器上打开​​localhost/app/​​​就在​​console​​上看到请求过来的数据了~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:天问一号探测器成功实施近火制动 进入火星停泊轨道!
下一篇:【译】开始学习React - 概览和演示教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~