返回顶部
首页 > 资讯 > 服务器 >nginx代理请求到内网不同服务器
  • 795
分享到

nginx代理请求到内网不同服务器

nginx服务器运维 2023-10-03 15:10:46 795人浏览 薄情痞子
摘要

需求:之前用的是frp做的内网穿透,但是每次电脑断电重启,路由或者端口会冲突,现在使用汉土云盒替换frp。 需要把公网ip映射到任意一台内网服务器上,然后在这台内网服务器上用Nginx做代理即可访问内

需求:之前用的是frp做的内网穿透,但是每次电脑断电重启,路由或者端口会冲突,现在使用汉土云盒替换frp。
需要把公网ip映射到任意一台内网服务器上,然后在这台内网服务器上用Nginx做代理即可访问内网其它服务器,如果内网仅一台服务器则不需要代理

需要准备三台云服务器,一台带有公网ip,另外两台不需要公网ip,有内网ip即可,只要这三台的内网ip在同一个网段中。

要在 ubuntu 上安装 Nginx,可以按照以下步骤进行操作:

更新系统软件包列表:

sudo apt update

安装 Nginx:

sudo apt install nginx

安装完成后,Nginx 服务将会自动启动。可以使用以下命令来检查 Nginx 服务状态

sudo systemctl status nginx

测试:这里使用了两个相同的项目在两台服务器上运行
切换到/etc/nginx/conf.d 创建nginx.conf文件
若使用80端口是需要备案的

server {    listen 81;  // 服务器1            server_name test21.zzb97.com;  //有域名的话可以写在这个位置 上面改成80端口    location / {        proxy_pass Http://192.168.1.12:8092;  // 这里代理的是前端项目 使用该服务器的ip        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header REMOTE-HOST $remote_addr;    }location /ps_vin/ {       #  反向代理       proxy_pass http://192.168.1.12:9872/ps_vin/;  // 这里代理的是后端项目 使用该服务器的ip    }}server {    listen 82; // 服务器2    location / {        proxy_pass http://192.168.1.11:8092;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header REMOTE-HOST $remote_addr;    }location /ps_vin/ {       #  反向代理       proxy_pass http://192.168.1.11:9872/ps_vin/;    }}

服务器2的前端项目的nginx配置文件

user  nginx;worker_processes  1;error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;events {  worker_connections  1024;}http {  include       /etc/nginx/mime.types;  default_type  application/octet-stream;  log_fORMat  main  '$remote_addr - $remote_user [$time_local] "$request" '                    '$status $body_bytes_sent "$http_referer" '                    '"$http_user_agent" "$http_x_forwarded_for"';  access_log  /var/log/nginx/access.log  main;  sendfile        on;  keepalive_timeout  65;  server {    listen       8080;    server_name  localhost;    location / {      alias   /app/;      index  index.html;#      try_files $uri $uri/ /index.html;    }    error_page  404 /40x.html;    location = /40x.html {      root   /usr/share/nginx/html;    }    # 后端接口,反向代理    location /ps_vin/ {       proxy_pass http://36.150.110.203:82/ps_vin/;    }  }}

项目的请求url

import axiOS from "axios";// import NProgress  from 'nprogress'// import 'nprogress/nprogress.CSS'let baseURL = 'http://36.150.110.203:82/ps_vin/'if(process.env.node_ENV == "development") {    baseURL = 'http://172.16.10.8:8008/ps/'}const request = axios.create({    baseURL: baseURL,})

后端可以直接使用下面url访问

http://36.150.110.203:82/ps_vin/

效果
在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_47906106/article/details/132346746

--结束END--

本文标题: nginx代理请求到内网不同服务器

本文链接: https://lsjlt.com/news/423071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作