侧边栏壁纸
博主头像
墨海星辰博主等级

行动起来,活在当下

  • 累计撰写 25 篇文章
  • 累计创建 5 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

NGINX做项目代理

陪梨去旅行
2024-12-08 / 0 评论 / 0 点赞 / 32 阅读 / 2028 字
温馨提示:
本文最后更新于 2024-12-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

背景:
服务器A 192.168.33.229 ,端口8080有项目
服务器B 192.168.33.90 ,有nginx,可以访问服务器A
客户机 192.168.33.120 ,无法访问服务器A,可以访问服务器B

需求
客户想访问服务器A的项目

服务器A (若服务器B能够直接访问项目可跳过该步骤)

firewall-cmd --permanent --zone=public --list-ports

若没有返回8080端口信息则代表8080端口被防火墙拦截保护。我们需要执行以下命令开放端口:

firewall-cmd --zone=public --add-port=8080/tcp --permanent

重启防护墙来生效刚刚的防火墙操作

firewall-cmd --reload

服务器B测试访问服务器A上的项目

curl -v http://192.168.33.229:8080

能够正常返回服务器A的html代码即为测试成功

服务器B

编辑nginx配置文件并保存

server {
    listen 80;
    server_name localhost;
    client_max_body_size 1024M; # 无文件上传需求的可注释
    location / {
      proxy_pass http://192.168.33.229:8080;
   }
 }

重启nginx

#物理机安装重启方式:
systemctl restart nginx

#docker 安装重启方式
docker restart nginx

客户机

访问 http://192.168.33.90 即可实现进入服务器A的8080项目

服务器B特殊场景

不想通过服务器B的80端口进行转发代理,想通过8080端口转发

⚠️ server 下面的 listen 后的 8080 就是客户端最终访问服务器时用的端口(如果是阿里云,需要注意,这个端口需要在安全策略中开通)
⚠️如果您使用docker安装的nginx,请确保8080端口已绑定nginx容器实例,否则无法访问

server {
    listen 8080;  # 监听8080端口
    server_name localhost;  # 域名或IP地址
    client_max_body_size 1024M; # 无文件上传需求的可注释
    location / {
        proxy_pass http://192.168.33.229:8080;  # 将请求转发到后端服务器
    }
}
0

评论区