首页 > 系统相关 >nginx反向代理内外网跳转

nginx反向代理内外网跳转

时间:2023-04-01 22:22:40浏览次数:40  
标签:http log 9091 nginx xx 反向 跳转 服务器

一个域名(www.abc.com),指向了公司的外网IP(59.108.xx.xx),

公司的外网IP(59.108.xx.xx),映射到一台内网服务器37(172.16.2.37),以下简称37服务器。

另一台内网服务器38是资源服务器(172.16.2.38),上传了很多的图片,以下简称38服务器。

 

其中,

37服务器是外网访问我们服务器的唯一入口,其中配置了nginx,跳转到多个服务器的应用。

38服务器,8081端口就是访问图片的应用端口。

希望:

通过外网ip和域名地址,可以访问资源服务器上的图片

 

实现步骤:

1、配置nginx.conf

#cat /etc/nginx/nginx.conf
 
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
 
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
 
events {
    worker_connections 1024;
}
 
http {
    include       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;
    #tcp_nopush     on;
 
    keepalive_timeout  65;
 
    #gzip  on;
 
    include conf.d/*.conf;
}

这里为了nginx.conf文件结构清晰,将所有的跳转配置到conf.d文件夹的不同的配置文件中。

 

2、配置nginx_9091_38_static.conf

# cat nginx_9091_38_static.conf 
server {
        listen       9091;
        server_name  127.0.0.1 172.16.2.37 59.108.xx.xx www.abc.com;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
#            root   html;
#            index  index.html index.htm;
            proxy_set_header Host $host:9091;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.16.2.38:8081/;
        }
}

这里仅列出图片服务器的配置文件,

9091是外网访问端口,

59.108.xx.xx www.abc.com是外网访问的ip和域名

http://172.16.2.38:8081 是图片服务器的内网访问地址,也是nginx将9091跳转到的地址

 

3、重启nginx

nginx -s reload

可以查看/var/log/nginx/下的access.log和error.log文件,查看访问记录和出错记录

 

4、防火墙开启9091端口.

#vi /etc/sysconfig/iptables
 
-A IN_public_allow -p tcp -m tcp --dport 9091 -m conntrack --ctstate NEW -j ACCEPT
 
#service iptables restart

5、验证

 

确保38服务器在8081端口启动了应用,并且开启了8081防火墙。

本地电脑用内网地址验证

http://172.16.2.37:9091/static/1525844569268.jpg

 

由于本地电脑无法访问外网,所以用手机流量访问以下地址

http://59.108.xx.xx:9091/static/1525844569268.jpg

http://www.abc.com:9091/static/1525844569268.jpg

 

总结:

本方案是对同一个域名用不同的端口号跳转。

也可以针对不同的应用,创建不同的二级域名,用不同的二级域名跳转,比如img.abc.com,api.abc.com,cms.abc.com。这样就可以不带端口号访问内网服务器的资源了(此时默认端口号为80)。

 

标签:http,log,9091,nginx,xx,反向,跳转,服务器
From: https://www.cnblogs.com/yayuya/p/17279561.html

相关文章

  • 鸿蒙开发学习笔记-UIAbility-Router页面跳转接口源码分析
    在鸿蒙开发中,UIAbility的跳转使用router方法.在使用的时候需导入importrouterfrom'@ohos.router';该方法接口成员如下:1.interfaceRouterOptionsinterfaceRouterOptions{url:string;//跳转页面的Urlparams?:Object;//传给跳转页面的参数params......
  • shell 脚本之一键部署安装 Nginx
    今天咸鱼给大家分享个源码编译安装Nginx的shell脚本 这个shell脚本可重复执行 完整源码放在最后 定义一个变量来存放nginx版本号version=1.15.4 nginx下载地址:http://nginx.org/download/ 下列函数功能则是判断当前步骤是否执行成功,并将结果输出出......
  • nginx 负载均衡
    准备虚拟机one:192.168.30.135:80虚拟机two:192.168.30.128:80两个虚拟机装的nginx都是:nginxversion:nginx/1.18.0官网参考地址: http://nginx.org/ 配置代理在各虚拟机上的conf.d文件夹下建立nginx配置文件,名字分别为:“xuniji_one.conf”、“xuniji_two.conf”反向代......
  • nginx 详解
    1、location[=|~|~*|^~]/uri/{…}  2、符号解释=    开头表示精确匹配^~    开头表示url以某个常规字符串开头,理解为匹配url路径即可,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^$/static//aa匹配到~    区分大小写的正则匹配~*......
  • nginx启动成功,页面还是无法访问?
    问题如下图: 1.检查Nginx配置文件:nginx-t2.每次修改配置文件都要重新加载、启动nginx-sreload#重新载入配置文件nginx-sreopen#重启Nginx3.查看nginx进程 4.查看防火墙状态(不同Linux版本防火墙不同,以CentOSLinuxrelease7.9为例)查看状态:systemctlstatusfi......
  • docker 安装nginx
    dockerpullnginx下载最新版Nginx镜像(其实此命令就等同于:dockerpullnginx:latest)#创建挂载目录mkdir-p/home/nginx/confmkdir-p/home/nginx/logmkdir-p/home/nginx/html#生成容器dockerrun--namenginx-p9001:80-dnginx:latest#将容器nginx.conf文件复......
  • Windows下Nginx安装与配置教程
    一、前言1、Nginx是什么?Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。2、Windows什么情况下需要Nginx?通常来说Windows下IIS......
  • 在windows服务器上安装nginx
    今天在WindowsServer2012R2服务器上安装了nginx 一、安装nginx(http://nginx.org/download/nginx-1.10.0.zip)下载windos版本的nginx,然后解压到服务器上,我的解压地址C:\ProgramFiles\Nginx二、将Nginx设置为Windows服务这里需要下载一个小工具(http://repo.jen......
  • 【模板】逆单源最短(反向建图) + spfa
    题目要求:不仅要求单源最短路径,还要求其余点到该点的最短路径做法:建立反图求逆单源最短路径,至于单源最短路径选择合适于题目即可参考题目1#include<iostream>2#include<queue>3#include<cstring>45usingnamespacestd;67typedeflonglongLL;8typ......
  • Windows 下Nginx 的安装与配置
    目录快速导航环境变量配置验证安装是否成功启动并验证启动是否成功NginxWindows基本操作指令Nginx的基本概念正向代理反向代理负载均衡动静分离访问控制Nginx配置proxy_passroot/alias详解root基本用法location的最左匹配原则index详解alias基本用法相关参考推荐阅读Nginx官网......