自学内容网 自学内容网

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 模块

1.2 安装 Application Request Routing (ARR)

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。

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


原文地址:https://blog.csdn.net/yangshuo1281/article/details/144062099

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!