使用Nginx和内网穿透实现多个本地Web站点的公网访问

在需要将多个本地Web站点暴露到公网的情况下,可以通过Nginx配置文件的修改结合内网穿透技术来实现。下面是具体的步骤和示例:

1. 安装和配置Nginx

首先,确保已经在服务器上安装了Nginx,并且配置了基本的Nginx服务器块(Server Blocks)。

2. 使用内网穿透工具

选择一种内网穿透工具,如Ngrok、frp等,用于将本地Web服务器暴露到公网。通过内网穿透工具可以获取一个公网域名,并将请求转发到本地的Web服务器。

3. 配置Nginx服务器块

修改Nginx的配置文件,添加多个服务器块,分别代理到不同的内网穿透地址,实现对多个本地Web站点的访问。

下面是一个简单的Nginx配置文件示例:

server {
    listen 80;
    server_name site1.example.com;

    location / {
        proxy_pass http://localhost:5000; # 这里替换成内网穿透工具提供的地址和端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {
    listen 80;
    server_name site2.example.com;

    location / {
        proxy_pass http://localhost:6000; # 这里替换成内网穿透工具提供的地址和端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

在这个配置中,我们定义了两个服务器块,分别对应site1.example.com和site2.example.com这两个域名。每个服务器块中配置了代理转发,将请求转发到不同的内网穿透地址和端口。

4. 启动Nginx服务

完成配置后,保存并退出Nginx配置文件,重新加载或重启Nginx服务,使配置生效。

通过以上步骤,我们可以使用Nginx配置文件的修改结合内网穿透技术,实现对多个本地Web站点的公网访问。

### 使用 FRP 在 Windows 系统中实现内网穿透并部署网站 #### 准备工作 在开始之前,需要准备一台具有公网 IP 的服务器作为中间节点(例如阿里云、腾讯云等),以及安装好 frp 客户端服务端程序。 #### 配置服务端 1. 下载适合 Linux 或其他操作系统的 frp 压缩包到公网服务器上,并解压文件。 2. 编辑 `frps.ini` 文件配置如下参数: ```ini [common] bind_port = 7000 # 设置服务端监听的端口 vhost_http_port = 80 # HTTP 协议转发使用的端口号 dashboard_port = 7500 # 可选:用于监控客户端连接状态的仪表板端口 token = your_token # 自定义密钥,确保安全通信 ``` #### 配置客户端 (Windows) 1. 同样下载对应版本的 frp 压缩包至本地电脑 (`frp_0.60.0_windows_amd64.zip`) 并解压缩[^4]。 2. 创建或编辑名为 `frpc.ini` 的配置文件,内容示例为: ```ini [common] server_addr = xxx.xxx.xxx.xxx # 替换为你公网服务器的实际IP地址 server_port = 7000 # 对应于服务端设置中的bind_port token = your_token # 服务端一致的安全令牌 [web] type = http # 表明这是一个HTTP请求类型的映射 local_ip = 127.0.0.1 # 内网Web站点运行所在的本机地址 local_port = 80 # Web服务实际占用的端口(比如Apache/Nginx默认就是80) custom_domains = example.com # 外部访问时所用域名或者子域名称字串形式输入多个逗号分隔开即可 ``` #### 运行 Frp 启动服务端与客户端进程分别执行以下命令: 对于Linux服务端: ```bash ./frps -c ./frps.ini ``` 而在Windows客户端这边则打开CMD窗口切换目录后键入: ```cmd frpc.exe -c .\frpc.ini ``` 完成上述步骤之后, 如果一切正常的话应该可以从外部网络通过指定好的自定义域名来浏览内部局域网上架设的那个网页了[^1][^2]. #### 测试连通性 确认外网能否成功访问已映射的资源。如果遇到问题可以查看日志排查错误原因;通常情况下可以通过增加log_file字段记录详细的交互过程以便分析解决潜在障碍。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值