通过Nginx配置与内网穿透技术实现多个本地Web站点的公网访问

当您想要通过内网穿透(如使用frp、ngrok等工具)实现公网访问多个本地Web站点,并且这些站点都由Nginx进行反向代理或负载均衡时,您需要做几个关键的配置步骤。以下是一个基本的指南:

图片[1]_通过Nginx配置与内网穿透技术实现多个本地Web站点的公网访问_知途无界

1. 设置本地Nginx

首先,确保您的Nginx已经安装并配置好以代理多个本地Web站点。这通常涉及在Nginx配置文件中(通常是/etc/nginx/nginx.conf/etc/nginx/sites-available//etc/nginx/conf.d/目录下的某个文件)为每个站点设置一个server块。

例如:

server {  
    listen 80;  
    server_name site1.local;  
    location / {  
        proxy_pass http://localhost:8080;  # 假设这是第一个站点的本地端口  
        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.local;  
    location / {  
        proxy_pass http://localhost:8081;  # 假设这是第二个站点的本地端口  
        # ... 其他proxy_set_header指令 ...  
    }  
}

2. 配置内网穿透

使用您选择的内网穿透工具(如frp)在本地和远程服务器上设置穿透。您需要为每个想要穿透的本地服务配置一个单独的穿透规则。

本地(frpc配置文件示例):

[web1]  
type = http  
local_port = 8080  
custom_domains = site1.yourdomain.com  
  
[web2]  
type = http  
local_port = 8081  
custom_domains = site2.yourdomain.com

注意:这里的custom_domains是您为每个站点在公网上设置的域名。您需要在DNS提供商处设置这些域名以解析到您的远程服务器IP。

远程(frps配置文件示例):
确保您的远程服务器(frps)允许来自本地的连接,并监听正确的端口。

3. 在远程服务器上设置反向代理(可选)

如果您的远程服务器也运行Nginx,并且您希望在那里设置反向代理以将请求转发到本地穿透的服务,您可以为每个站点设置一个server块。但请注意,这通常不是必需的,因为frp等工具已经处理了请求转发。

4. 测试配置

在修改了任何配置文件后,确保重新加载或重启Nginx和frp服务以使更改生效。然后,使用公网上的域名访问您的站点,并检查它们是否按预期工作。

5. 注意事项

  • 确保您的本地防火墙和网络设置允许Nginx和frp服务监听所需的端口。
  • 如果您的站点使用HTTPS,请确保您的证书和配置在Nginx和frp中都设置正确。
  • 始终备份您的配置文件,以便在出现问题时可以轻松还原。
© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞13 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容