windows server 2012 反向代理修改默认80端口转向3000

我们用npm start项目以后一般端口都是3000或者其他,这个方法可以直接80端口跳3000.

Nginx的方法:
修改配置文件
在 Nginx 配置文件中,您需要找到默认的 server block,并将其配置为监听 80 端口,并将请求代理到 3000 端口。以下是您应该添加或修改的内容:
server {listen 80;server_name your_domain_or_ip;  # 可以是域名或服务器的 IP 地址location / {proxy_pass http://localhost:3000;  # 将请求转发到本地 3000 端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}

方案一:使用 IIS URL 重写(推荐)

1. 安装必要的模块

1.1 安装 URL Rewrite 模块

  • 下载地址:Microsoft URL Rewrite Module 2.0
  • 下载后根据你的服务器选择 x64 或 x86 版本安装。

1.2 安装 Application Request Routing (ARR)

  • 下载地址:Microsoft Application Request Routing
  • 这是实现反向代理所必需的模块。

2. 配置 IIS

2.1 打开 IIS 管理器

  • Windows + R,输入 inetmgr,然后回车。

2.2 启用代理功能

  • 在 IIS 管理器中点击左侧的服务器名称。
  • 双击中间窗格的 Application Request Routing Cache
  • 点击右侧的 Server Proxy Settings
  • 勾选 Enable proxy,然后点击 Apply 应用设置。

2.3 配置 URL 重写规则

  • 在 IIS 管理器中选择默认网站。
  • 双击中间窗格的 URL Rewrite
  • 在右侧点击 Add Rule(s),选择 Blank ruleInbound Rules 下。
  • 填写规则:
    • Name: ReverseProxyToNode
    • Pattern: (.*)
    • Rewrite URL: http://localhost:3000/{R:1}
    • 勾选 Stop processing of subsequent rules
    • 点击 Apply 保存规则。

上面的方法由cursor提供,我是直接用的宝塔软件商店安装的IIS.然后直接走下面的步骤。

3. 创建 web.config

在 IIS 默认网站根目录(通常是 C:\inetpub\wwwroot创建或编辑 web.config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><rewrite><rules><rule name="ReverseProxyToNode" stopProcessing="true"><match url="(.*)" /><action type="Rewrite" url="http://localhost:3000/{R:1}" /></rule></rules></rewrite></system.webServer>
</configuration>

4. 检查和测试

确保 React 应用正在运行
保持 React 应用在 3000 端口运行
检查防火墙设置
确保 80 端口已开放
Windows 防火墙允许 IIS 和 Node.js 的通信
测试访问
直接访问域名 xoxome.top
应该能够看到原本在 3000 端口的网站内容

4.1 确保 React 应用正在运行

  • 保持 React 应用在 3000 端口运行。

4.2 检查防火墙设置

  • 确保 80 端口已开放。
  • 确保 Windows 防火墙允许 IIS 和 Node.js 的通信。

4.3 测试访问

  • 直接访问域名 xoxome.top,应该能够看到原本在 3000 端口的网站内容。

5. 常见问题解决

5.1 如果出现 502.3 错误

  • 检查 React 应用是否正在运行。
  • 检查 3000 端口是否可访问。

5.2 如果出现权限问题

  • 确保 IIS 用户对网站目录有读写权限。
  • 检查应用程序池的身份设置。

5.3 如果规则不生效

  • 尝试重启 IIS。

这个格式已经简洁清晰,便于阅读。如果需要更详细的操作步骤或遇到具体问题,可以进一步讨论!

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

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

相关文章

项目缓存之Caffeine咖啡因

文章目录 理论使用 理论 &#x1f34e;缓存缓存是提升系统性能的一个不可或缺的工具&#xff0c;通过缓存可以避免大部分重复的请求到数据库层&#xff0c;减少IO链接次数&#xff0c;进而提升整体的响应速率&#xff1b;缓存工具可以分为本地缓存&#xff08;如Caffeine&…

QML TableView 实例演示 + 可能遇到的一些问题(Qt_6_5_3)

一、可能遇到的一些问题 Q1&#xff1a;如何禁用拖动&#xff1f; 在TableView下加一句代码即可&#xff1a; interactive: false 补充&#xff1a;这个属性并不专属于TableView&#xff0c;而是一个通用属性。很多Controls下的控件都可以使用&#xff0c;其主要作用就是控…

C基础上机题目51_55

51.字符数组x中存有任意一串字符&#xff1b;请编制函数&#xff0c;按给定的替代关系对数组x中的所有字符进行替代&#xff0c;仍存入数组x的对应的位置上&#xff0c;最后调用函数把结果x输出。 替代关系&#xff1a;f(p)p*11%256 (p是数组中某一个字符的ASCII值&#xff0c…

03-微服务搭建

1、搭建分布式基本环境 分布式组件 功能 SpringCloud Alibaba - Nacos 注册中心&#xff08;服务发现/注册&#xff09;、配置中心&#xff08;动态配置管理&#xff09; SpringCloud Alibaba - Sentinel 服务容错&#xff08;限流、降级、熔断&#xff09; SpringCloud …

2024强网杯--babyheap house of apple2解法

house of apple2 这次比赛看到这道题想到了用house of apple2&#xff0c;但是卡在了它把_IO_wfile_jumps给清零了&#xff0c;然后根据house of apple的调用链&#xff0c;我就以为做不了&#xff0c;其实是我对这个地方的理解不深刻。 利用_IO_wfile_overflow函数控制程序执…

Java八股(一)

目录 1.JVM、JRE、JDK之间的关系 2.static关键字作用&#xff08;通俗版&#xff09; 3.面向对象、面向过程 4.私有方法 5.Java代码执行与编译 6.IOC 1.JVM、JRE、JDK之间的关系 Java一次编写到处运行&#xff0c;可移植性好&#xff0c;保证这一点的就是iava虚拟机JVM …

pytest 通过实例讲清单元测试、集成测试、测试覆盖率

1. 单元测试 概念 定义: 单元测试是对代码中最小功能单元的测试&#xff0c;通常是函数或类的方法。目标: 验证单个功能是否按照预期工作&#xff0c;而不依赖其他模块或外部资源。特点: 快速、独立&#xff0c;通常是开发者最先编写的测试。 示例&#xff1a;pytest 实现单…

Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

yum install 报错: Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 CentOS7的SCL源在2024年6月30日停止维护了。 当scl源里面默认使用了centos官方的地址&#xff0c;无法连接&#xff0c;需要替换为阿里云。 cd /etc/yum.repos.d/ 找到 CentOS-SCLo-scl.repo 和…

Vue前端开发-slot传参

slot 又称插槽&#xff0c;它是在子组件中为父组件提供的一个占位符&#xff0c;使用来表示&#xff0c;通过这个占位符&#xff0c;父组件可以向中填充任意的内容代码&#xff0c;这些代码将自动替换占位符的位置&#xff0c;从而轻松实现在父组件中控制子组件内容的需求。 作…

如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack

今天我们来聊聊如何在 Ubuntu 22.04 服务器上安装 ELK Stack&#xff0c;并集成 Nginx 作为 Web 服务器&#xff0c;同时使用 Let’s Encrypt Certbot 进行 SSL 认证。ELK Stack&#xff0c;包括 Elasticsearch、Logstash 和 Kibana&#xff0c;是一套强大的工具&#xff0c;用…

快速理解微服务中Sentinel怎么实现限流

Sentinel是通过动态管理限流规则&#xff0c;根据定义的规则对请求进行限流控制。 一.实现步骤 1.定义资源&#xff1a;在Sentinel中&#xff0c;资源可以是URL、方法等&#xff0c;用于标识需要进行限流的请求&#xff1b;(在Sentinel中&#xff0c;需要我们去告诉Sentinel哪些…

基于单片机的智慧小区人脸识别门禁系统

本设计基于单片机的智慧小区人脸识别门禁系统。由STM32F103C8T6单片机核心板、显示模块、摄像头模块、舵机模块、按键模块和电源模块组成。可以通过摄像头模块对进入人员人脸数据进行采集&#xff0c;识别成功后&#xff0c;舵机模块动作&#xff0c;模拟门禁打开&#xff0c;门…

llama-factory 系列教程 (七),Qwen2.5-7B-Instruct 模型微调与vllm部署详细流程实战

文章目录 介绍llama-factory 安装装包下载模型 微调模型数据集训练模型 微调后的模型推理 介绍 时隔已久的 llama-factory 系列教程更新了。本篇文章是第七篇&#xff0c;之前的六篇&#xff0c;大家酌情选看即可。 因为llama-factory进行了更新&#xff0c;我前面几篇文章的实…

利用Docker容器技术部署发布web应用程序

Docker是什么&#xff1f; docker 是一个开源的应用容器引擎&#xff0c;可以帮助开发者打包应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化&#xff0c;容器是完全使用沙箱机制&#xff0c;相互之间不会有任何…

SpringCloud框架学习(第五部分:SpringCloud Alibaba入门和 nacos)

目录 十二、SpringCloud Alibaba入门简介 1. 基本介绍 2.作用 3.版本选型 十三、 SpringCloud Alibaba Nacos服务注册和配置中心 1.简介 2.各种注册中心比较 3.下载安装 4.Nacos Discovery服务注册中心 &#xff08;1&#xff09; 基于 Nacos 的服务提供者 &#xf…

Linux—进程概念学习-03

目录 Linux—进程学习—31.进程优先级1.1Linux中的进程优先级1.2修改进程优先级—top 2.进程的其他概念3.进程切换4.环境变量4.0环境变量的理解4.1环境变量的基本概念4.2添加环境变量—export4.3Linux中环境变量的由来4.4常见环境变量4.5和环境变量相关的命令4.6通过系统调用获…

信创改造 - TongRDS 替换 Redis

记得开放 6379 端口哦 1&#xff09;首先在服务器上安装好 TongRDS 2&#xff09;替换 redis 的 host&#xff0c;post&#xff0c;passwd 3&#xff09;TongRDS 兼容 jedis # 例如&#xff1a;更改原先 redis 中对应的 host&#xff0c;post&#xff0c;passwd 改成 TongRDS…

Python 爬虫入门教程:从零构建你的第一个网络爬虫

网络爬虫是一种自动化程序&#xff0c;用于从网站抓取数据。Python 凭借其丰富的库和简单的语法&#xff0c;是构建网络爬虫的理想语言。本文将带你从零开始学习 Python 爬虫的基本知识&#xff0c;并实现一个简单的爬虫项目。 1. 什么是网络爬虫&#xff1f; 网络爬虫&#x…

搭建私有docker仓库

1. 安装docker依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl …

从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)

本文不仅细化了每一个步骤&#xff0c;实现了从0到1部署Tomcat和添加servlet。还针对IDEA2024版和以前的版本在部署上的区别&#xff0c;做了详细介绍&#xff0c;尤其是add framework support部分。与此同时&#xff0c;针对控制台中文乱码问题&#xff0c;本文也给出了详细解…