apache搭建静态网站,moongoose搭建网站后台,出现的跨域问题解决

news2024/12/30 3:56:24

文章目录

  • 1,问题描述
    • 1.1,当网页和后台是不同服务时会产生跨域问题
    • 1.2,跨域问题
  • 2,nginx端口转发解决跨域问题
    • 2.1,下载并安装nginx
      • 2.1.1,解压后如下所示
      • 2.1.2,进入解压目录后,执行配置脚本
    • 2.2,编译安装
    • 2.3,nginx使用
      • 2.3.1,设置nginx开机自启动
      • 2.3.2,修改配置文件配置端口转发
      • 2.3.3,启动nginx
      • 2.3.4,发现由于80端口被apache占用了,nginx无法启动
      • 2.3.5,直接关闭apache,使用nginx托管静态网站代码
  • 3,更新动态IP到nginx配置文件

1,问题描述

1.1,当网页和后台是不同服务时会产生跨域问题

Access to XMLHttpRequest at ‘http://ubuntu:9607/login’ from origin ‘http://www.anweimian.com’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
在这里插入图片描述

1.2,跨域问题

同源策略会导致跨域问题
所谓"同源"指的是"三个相同"。
	协议相同
	域名相同
	端口相同

http://www.example.com/dir2/other.html:同源
http://example.com/dir/other.html:不同源(域名不同)
http://v2.www.example.com/dir/other.html:不同源(域名不同)
http://www.example.com:81/dir/other.html:不同源(端口不同)

2,nginx端口转发解决跨域问题

2.1,下载并安装nginx

https://nginx.org/en/download.html
在这里插入图片描述

2.1.1,解压后如下所示

在这里插入图片描述

2.1.2,进入解压目录后,执行配置脚本

./configure
HTTP rewrite 模块需要 PCRE 库的支持

在这里插入图片描述

sudo apt-get install libpcre3-dev
安装好PCRE 库后再次执行 ./configure

在这里插入图片描述

2.2,编译安装

sudo make -j
sudo make install

2.3,nginx使用

2.3.1,设置nginx开机自启动

vim /etc/rc.local
文本底部追加
/usr/local/nginx/sbin/nginx

2.3.2,修改配置文件配置端口转发

 /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

2.3.3,启动nginx

sudo /usr/local/nginx/sbin/nginx

2.3.4,发现由于80端口被apache占用了,nginx无法启动

在这里插入图片描述

2.3.5,直接关闭apache,使用nginx托管静态网站代码

sudo /etc/init.d/apache2 stop

在这里插入图片描述

#重启nginx
sudo /usr/local/nginx/sbin/nginx -s reload

3,更新动态IP到nginx配置文件

#!/usr/bin/bash
# 为 win 设置 wsl host
# win hosts 文件路径
# 获取 wsl2 的 ip
wsl_ip=$(ifconfig eth0 | grep -w inet | awk '{print $2}')

CHANGE_HOST()
{
        HOST_NAME=$1
        HOST_IP=$2
    win_hosts_path="/mnt/c/Windows/System32/drivers/etc/hosts"

        # 判断是否已存在 wsl2 的域名,如果存在则修改,否则追加
        if grep -wq "$HOST_NAME" $win_hosts_path
        then
                # 此处因为权限问题没有直接用 sed 修改 hosts 文件
                win_hosts=$(sed -s "s/.* $HOST_NAME/$HOST_IP $HOST_NAME/g" $win_hosts_path)
                echo "$win_hosts" > $win_hosts_path
        else
                echo "$HOST_IP $HOST_NAME" >> $win_hosts_path
        fi
}

CHANGE_NGINX_HOST_BY_PORT()
{
        SERVER_PORT=$1
        HOST_IP=$2

        nginx_config_path="/usr/local/nginx/conf/nginx.conf"
        # 判断是否已存在 wsl2 的域名,如果存在则修改,否则追加
        if grep -wq "proxy_pass\|$SERVER_PORT" $nginx_config_path
        then
            # 此处因为权限问题没有直接用 sed 修改 hosts 文件
            nginx_conf=$(sed -s "s/.*proxy_pass.*http:\/\/.*:$SERVER_PORT;/         proxy_pass http:\/\/$HOST_IP:$SERVER_PORT/g" $nginx_config_path)
            echo "$nginx_conf" > $nginx_config_path
        else
            echo "$SERVER_PORT is not in $nginx_conf"
        fi
}

CHANGE_HOST "www.anweimian.com" $wsl_ip
CHANGE_HOST "ubuntu" $wsl_ip


CHANGE_NGINX_HOST_BY_PORT "9607" $wsl_ip

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

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

相关文章

SAP-QM-动态检验规则

Dynamic Modification Rule (动态修改规则) 1、决定样本大小的方式有3种: 手动输入比例大小采样过程 物料主数据质量视图 2、采样过程的创建方式有2种 跟批量大小有关系:百分比/AQL跟批量大小没有关系:固定值 而当…

Jetpack:014-Jetpack中的小红点

文章目录 1. 概念介绍2. 使用方法2.1 Badge2.2 BadgedBox 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack库中底部栏相关的内容,本章回中主要介绍 小红点。闲话休提,让我们一起Talk Android Jetpack吧! 1. 概念介绍 我们在本章回中…

Android C/C++ native编程NDK开发中logcat的使用

Android C/C native编程NDK开发中logcat的使用 前言具体用法 前言 在NDK开发过程中,C/C层,需要对代码进行一些调试,日志打印是我们解决异常或崩溃的重要手段,这里我就简单介绍下日志打印三步走。 首先我们先看下官方文档关于日志…

渗透测试--JWT攻防(一)

JWT简介 JWT代表JSON Web Token,它是一种用于安全地在不同实体之间传递信息的开放标准(RFC 7519)。JWT通常用于身份验证和授权领域,以及在网络应用程序和服务之间传递声明(claims)信息。 JWT的常见用途包括…

S7-1200通过CM CANopen模块与KINCO伺服连接

CM CANopen模块简介 CM CANopen模块(Profinet转CANopen)来自瑞典HMS ,由西 门子授权HMS公司开发,与S7-1200完美兼容。 可做为S7-1200与CANopen/CAN设备之间的桥梁,能够联接任意 CANopen或CAN 2.0A设备到SIMATIC S7-1…

聊聊分布式架构10——Zookeeper入门详解

目录 01ZooKeeper的ZAB协议 ZAB协议概念 ZAB协议基本模式 消息广播 崩溃恢复 选举出新的Leader服务器 数据同步 02Zookeeper的核心 ZooKeeper 的核心特点 ZooKeeper 的核心组件 选举算法概述 服务器启动时的Leader选举 服务器运行期间的Leader选举 03ZooKeeper的…

PT100温度传感器

热电阻是中低温区﹡常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是﹡高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。金属热电阻的感温元件有石英套管十字骨架结构&…

智能洗地机哪个牌子好用?智能洗地机品牌排行榜

为了偷懒人类发明了扫把、拖把等手动清洁工具,随着技术的进步出现了吸尘器、扫地机器人等等智能产品,近几年洗地机又以快速、直接、高效对市场进行了“颠覆”,如何快速在洗地机市场中挑选到适合自己的智能洗地机呢,我们一起来看看…

2023-10-18 LeetCode每日一题(执行 K 次操作后的最大分数)

2023-10-18每日一题 一、题目编号 2530. 执行 K 次操作后的最大分数二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。 在一步 操作 中&#xff1a; 选出一个满足 0 < i < nums.length 的…

node快速搭建一个学习资料共享平台

概述 本文要实现的功能比较简单&#xff1a;1、将想要共享的文件分文件夹的组织起来&#xff1b;2、别人可以通过界面进行搜索&#xff1b;3、可以在线预览或下载文件。基于这样的需求&#xff0c;本文分享通过node如何实现这样的功能。 实现效果 实现 1. node端服务 node端…

QT 操作Windows系统服务

Windows服务是在Windows操作系统上运行的后台应用程序&#xff0c;它们在系统启动时自动启动&#xff0c;并在后台持续运行&#xff0c;不需要用户交互。Windows服务的作用包括但不限于以下几个方面&#xff1a;1. 提供系统功能&#xff1a;许多Windows服务提供了系统级的功能和…

【Java题】实现继承和多态的例子

一&#xff1a;题目 1.员工类Employee&#xff1a; &#xff08;1&#xff09;私有成员变量&#xff1a;姓名&#xff0c;年龄&#xff0c;工资 &#xff08;2&#xff09;提供无参&#xff0c;有参构造 &#xff08;3&#xff09;成员方法&#xff1a;work()方法——员工工作 …

【算法|动态规划No.28】leetcode1312. 让字符串成为回文串的最少插入次数

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

lv8 嵌入式开发-网络编程开发 19 原始套接字

目录 1 链路层原始套接字用法 1.1 利用原始套接字实现类似wireshark的功能 1.2 利用原始套接字实现ping命令 2 网络层原始套接字用法 2.1 TCP原始套接字用法 1 链路层原始套接字用法 Linux中的原始套接字&#xff08;Raw Socket&#xff09;是一种高级套接字类型&#xff…

YOLOv5涨点必备!改进损失函数EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU

目录 一&#xff0c;改进损失函数的作用 二&#xff0c;具体实现 一&#xff0c;改进损失函数的作用 YOLOv5损失函数的作用是衡量预测框与真实框之间的差异&#xff0c;并根据这些差异来更新模型的参数。它帮助模型学习如何准确地检测和定位目标物体&#xff0c;从而提高检测…

【分类讨论】CF1747D

Problem - D - Codeforces 题意 思路 一看这个做法一定就是分类讨论 先判无解 显然&#xff0c;如果区间异或和不是0一定无解 如果区间内全是0&#xff0c;答案一定是0 之后怎么讨论 注意到需要讨论区间长度 如果长度是奇数&#xff0c;那么直接操作即可&#xff0c;答…

【PyTorch】深度学习实践 1. Overview

目录 人工智能概述 课程前置知识 人工智能 问题分类 推理类 预测类 算法分类 传统算法与智能算法 人工智能领域细分 学习系统的发展 基于规则的系统 经典机器学习算法 表示学习方法 维度诅咒 说明 解决方法 第一代 第二代&#xff08;深度学习&#xff09; 传统…

数据结构: 红黑树

目录​​​​​​​ 1.红黑树概念 2.红黑树性质 3.调整 1.如果p和u都是红色&#xff0c;将其都改为黑色即可,然后向上调整 2.如果p红&#xff08;u黑/u不在&#xff09;&#xff0c;这时候左子树两红&#xff0c;于是给右子树一个红&#xff08;旋转变色&#xff09; 2.1…

华为ICT——第四章深度学习和积卷神经

接第三章的末尾&#xff1a; 目录 接第三章的末尾&#xff1a; 1&#xff1a;自适应阈值分割&#xff1a; 2&#xff1a;形态处理&#xff1a; 4&#xff1a;膨胀&#xff1a; 5&#xff1a;腐蚀 6&#xff1a;开运算 7&#xff1a;闭运算 8&#xff1a;特征描述子 9&#xf…