虚拟机中使用LNMP模拟跨域并结合前端代码解决CORS跨域的简单示例

目录

一、首先,下载lnmp_soft.tar.gz压缩包

二、解压lnmp_soft.tar.gz和下载相关的依赖,插件

三、修改/usr/local/nginx/conf/nginx.conf配置文件

四、/usr/local/nginx/sbin/nginx命令启动nginx

五、在/usr/local/nginx/html目录下新建80.html,8080.html文件

六、在浏览器输入192.168.88.5/80.html

七、还原跨域场景

八、再次验证【add_header  'Access-Control-Allow-Origin' '*';】的效果


一、首先,下载lnmp_soft.tar.gz压缩包

https://lnmp.org/download.html

二、解压lnmp_soft.tar.gz和下载相关的依赖,插件

1、yum -y install gcc make openssl-devel pcre-devel#基础依赖包
2、源码安装nginx
1) scp lnmp_soft.tar.gz root@192.168.88.5:/root#将压缩包拷贝到虚拟机的/root目录下
使用root账号登录后
第一步:解压lnmp_soft.tar.gz,通过ls看到有/lnmp_soft目录,进入该目录
1)tar -xf ~/lnmp_soft.tar.gz
2)cd ~/lnmp_soft
第二步:在/lnmp_soft目录中继续解压nginx-1.22.1.tar.gz,再进入解压后的目录nginx-1.22.1
1)tar -xf nginx-1.22.1.tar.gz
2)cd nginx-1.22.1
第三步:在目录nginx-1.22.1下,源码安装nginx
1)./configure 
2)make && make install
#第四步:有需要的话可以额外安装MariaDB数据库,安装PHP等
#1)yum -y install  mariadb  mariadb-server  mariadb-devel
#2)yum -y install  php  php-mysqlnd php-fpm

三、修改/usr/local/nginx/conf/nginx.conf配置文件

1. vim nginx.conf
末行模式下输入/server {
然后回车,按n键找到listen 8000对应的server {...}那块代码
将server {开始到}结束的#去掉,并修改为:
server {listen       8080;server_name   localhost;location / {add_header 'Access-Control-Allow-Origin' '*';root   html;index  index.html index.htm;}}

四、/usr/local/nginx/sbin/nginx命令启动nginx

如果报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
则使用/usr/local/nginx/sbin/nginx -s reload如依然报错,先查看80端口是否被占用,找到程序并停止它:
1)ss -utnlp | grep :80 
2)假设是httpd占用的,则:
systemctl stop  httpd 
3)关闭firewalld#关闭防火墙
4)还不行的话,使用setenforce 0命令(宽松模式)
5)最后再重新使用/usr/local/nginx/sbin/nginx或者/usr/local/nginx/sbin/nginx -s reload命令启动nginx

五、在/usr/local/nginx/html目录下新建80.html,8080.html文件

80.html:

<!DOCTYPE html>
<html><meta charset="UTF-8"/><title>test page</title><body>this is 80 port page<br /><button onclick="change()">test</button></body><script>var xhr = new XMLHttpRequest();xhr.open('GET', 'http://192.168.88.5:8080/8080.html', true);xhr.send();function change() {if(xhr.readyState == 4 && xhr.status == 200) {alert(xhr.responseText);}}</script>
</html>

8080.html

为了简化,直接写字符串:i am 8080 port page

六、在浏览器输入192.168.88.5/80.html

1)192.168.88.5/80.html的端口是80,  xhr请求http://192.168.88.5:8080/8080.html的端口明显是8080,符合跨域的基本特征
2)点击test按钮,如果正常出现弹窗,则代表跨域通信成功!

解决跨域问题的核心代码是add_header 'Access-Control-Allow-Origin' '*';(详见“三、修改/usr/local/nginx/conf/nginx.conf配置文件”)

七、还原跨域场景

如果去掉add_header,就会出现CORS跨域的提示(当然也提示了要修改Access-Control-Allow-Origin属性):

八、再次验证【add_header  'Access-Control-Allow-Origin' '*';】的效果

加回add_header  'Access-Control-Allow-Origin' '*';再执行/usr/local/nginx/sbin/nginx -s reload重启nginx,再刷新“192.168.88.5/80.html”,执行第六步又会恢复正常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生·浦语大模型实战营之微调 Llama 3 实践与教程 (XTuner 版)

书生浦语大模型实战营之微调 Llama 3 实践与教程 (XTuner 版) Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,XTuner 团队对 Llama 3 微调进行了光速支持!!!开源同时社区中涌现了 Llama3-XTuner-CN 手把手教大家使用 XTuner 微调 Llama 3 模型。 XTuner:http:/…

图深度学习——2.图的理论知识

1.图 1.1 图的定义 图是由节点&#xff08;顶点&#xff09;和边构成的数学结构。图用于表示对象之间的关系&#xff0c;其中节点表示对象&#xff0c;边表示对象之间的关系。 一个图&#xff0c;记为 G <V, E> &#xff0c;它包括以下两个要素&#xff1a; 1.节点&am…

第22天:安全开发-PHP应用留言板功能超全局变量数据库操作第三方插件引用

第二十二天 一、PHP留言板前后端功能实现 开发环境&#xff1a; DW PHPStorm PhpStudy Navicat Premium DW : HTML&JS&CSS开发 PHPStorm : 专业PHP开发IDE PhpStudy &#xff1a;Apache MYSQL环境 Navicat Premium: 全能数据库管理工具 二、数据库创建&架…

机器学习(三)之监督学习2

前言&#xff1a; 本专栏一直在更新机器学习的内容&#xff0c;欢迎点赞收藏哦&#xff01; 笔者水平有限&#xff0c;文中掺杂着自己的理解和感悟&#xff0c;如果有错误之处还请指出&#xff0c;可以在评论区一起探讨&#xff01; 1.支持向量机&#xff08;Support Vector Ma…

iTwin Capture Modeler-23中文版下载地址及安装教程

文章目录 一、iTwin Capture Modeler23中文版安装教程二、iTwin Capture Modeler23中文版下载地址一、iTwin Capture Modeler23中文版安装教程 1. 解压安装包。订阅专栏(可获取专栏内所有文章阅读权限与软件安装包)后,从文末获取安装包解压,如下所示: 2. 右击安装包,选择以…

【Web】HNCTF 2022 题解(全)

目录 Week1 Interesting_include 2048 easy_html What is Web Interesting_http easy_upload Week2 ez_SSTI easy_include ez_ssrf Canyource easy_unser easy_sql ohmywordpress Week3 ssssti Fun_php ez_phar QAQ_1inclu4e logjjjjlogjjjj …

图像哈希:Global+Local

文章信息 作者&#xff1a;梁小平&#xff0c;唐振军期刊&#xff1a;ACM Trans. Multimedia Comput. Commun. Appl&#xff08;三区&#xff09;题目&#xff1a;Robust Hashing via Global and Local Invariant Features for Image Copy Detection 目的、实验步骤及结论 目…

内网隧道技术总结

隧道技术解决的是网络通信问题&#xff0c;因为在内网环境下&#xff0c;我们不同的内网主机管理员会进行不同的网络配置&#xff0c;我们就需要使用不同的方式去控制我们的内网主机。隧道技术是一个后渗透的过程&#xff0c;是可以是我们已经取得了一定的权限&#xff0c;在这…

NLP任务全览:涵盖各类NLP自然语言处理任务及其面临的挑战

自然语言处理(Natural Language Processing, 简称NLP&#xff09;是计算机科学与语言学中关注于计算机与人类语言间转换的领域。NLP将非结构化文本数据转换为有意义的见解&#xff0c;促进人与机器之间的无缝通信&#xff0c;使计算机能够理解、解释和生成人类语言。人类等主要…

(四)openlayers加入矢量图层.json文件

openlayers加入矢量图层.json文件 &#xff08;1&#xff09;接上一章节&#xff0c;添加矢量图层.json文件。首先下载.json矢量图层文件。链接&#xff1a;JSON矢量图层文件 &#xff08;2&#xff09;导入相关的依赖&#xff0c;提前把你下载好的矢量文件放入assets文件夹下…

巧用波卡生态优势,Mythical Games 引领 Web3 游戏新航向

Polkadot 对创新、安全和治理的承诺为 Mythical Games 提供了极大的发展价值。这个链上生态不仅将支持 Mythical Games 成长发展&#xff0c;还将帮助其他 Mythos 合作伙伴来壮大建设项目。 —— Mythical Games 创始人兼首席执行官 John Linden 近期 Web3 游戏行业又有新动向&…

microk8s拉取pause镜像卡住

前几天嫌服务器上镜像太多占空间&#xff0c;全部删掉了&#xff0c;今天看到 microk8s 更新了 1.30 版本&#xff0c;果断更新&#xff0c;结果集群跑不起来了。 先通过 microk8s.kubectl get pods --all-namespaces 命令看看 pod 状态。 如上图可以看到&#xff0c;所有的业…

JS -关于对象相关介绍

在JS中&#xff0c;除去基本的数据类型&#xff0c;还有包含对象这种复合数据类型&#xff0c;他可以储存多个键值对&#xff0c;并且每个键都是唯一的&#xff0c;并且在对象中可以包含各种数据类型的值&#xff0c;包括其他对象&#xff0c;数组&#xff0c;函数等。对象是Ja…

LeetCode in Python 72. Edit Distance (编辑距离)

编辑距离的基本思想很直观&#xff0c;即不断比较两个单词每个位置的元素&#xff0c;若相同则比较下一个&#xff0c;若不同则需要考虑从插入、删除、替换三种方法中选择一个最优的策略。涉及最优策略笔者最先想到的即是动态规划的思想&#xff0c;将两个单词的位置对应放在矩…

Vue2 移动端(H5)项目封装弹窗组件

前言 因vant-ui的dialog组件没有自定义footer插槽 效果 参数配置 1、代码示例&#xff1a; <t-dialog :visible.sync"show" :title"title" submit"submit"></t-dialog>2、配置参数&#xff08;t-dialog Attributes&#xff09; 参…

IS62C256AL-45TLI功能参数介绍及如何优化性能

IS62C256AL-45TLI功能和参数介绍及如何优化性能-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 产品品种:静态随机存取存储器 RoHS:是 存储容量:256 kbit 组织:32 k x 8 访问时刻:45 ns 接口类型:Parallel 电源电压-最大:5.5 V 电源电压-最小:4.5 V 电源电流—最大值:25 mA 最小…

JumpServer搭建堡垒机实战

文章目录 第一步、下载安装第二步、访问异常处理【1】docker方式拉取失败 JumpServer是运维人员可连接内部服务器上进行操作&#xff0c;支持Linux等操作系统的管理工具。 第一步、下载安装 curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/…

OpenCV-复数矩阵点乘ComplexMatrixDotMultiplication

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 需求说明 一般用到FFT&#xff0c;就涉及到复数的计算&#xff0c;为了便于调用&#xff0c;我自行封装了一个简单的复数矩阵点乘…

如何用网页绘制一个黑莓9900的键盘效果图

如何用网页绘制一个黑莓9900的键盘效果图 入了几个黑莓蓝牙键盘&#xff0c;出于喜好&#xff0c;想做一个跟实体键盘一模一样的网页界面。 最终的实现效果是这样的&#xff1a; 在线查看&#xff1a;http://kylebing.cn/tools/bb-keyboard 点击上面四个按键显示不同模型界面…

Linux 网络操作命令Telnet

Telnet 尽管 Telnet 已经逐渐被更安全的 SSH 协议所取代&#xff0c;但在某些特定场景下&#xff0c;如对旧系统的维护或教育目的&#xff0c;Telnet 仍然有其使用价值。本文将介绍如何在 Linux 系统中安装 Telnet 客户端&#xff0c;以及如何使用它进行远程登录。 用户使用 t…