nginx外网访问内网站点配置操作

背景:

站点是前后端分离:vue+springboot

前端内网地址:192.168.1.10:81

API内网地址:192.168.1.12:8080

外网域名:abc.ab.com 外网IP:10.114.X.X

需求:

通过域名可以访问站点且站点静态资源且可访问API请求数据

方案一:(前提:外网域名映射服务器外网IP)

1.nginx配置域名监听且访问静态资源

2.重点来了!!!静态资源请求API的地址由192.168.1.12:8080修改为域名访问方式(abc.ab.com:8080)

重启nginx即可

其他方案等博主验证完后放上来!!

补充知识:用nginx实现反向代理,实现外网访问内网的服务

环境背景,服务器为Ubuntu:

一台可以连接公网和内网的服务器A,公网IP地址:61.174.×.×,另一台内网服务器B上安装jenkins服务,内网的IP地址192.168.3.12

操作步骤:

在A上安装nginx

sudo apt-get install nginx

安装好之后,进入/etc/nginx/sites-enabled目录,打开目录中的文件,修改默认端口号为8085,

然后进入/etc/nginx/conf.d 目录,新建文件 jenkins.conf,文件内容如下:

server{
listen 8085;
server_name 61.174.171.61;

location /{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://192.168.3.12:8080;
proxy_redirect off;
}

然后执行

sudo nginx -t

sudo nginx -s reload

如果出现错误:

nginx: [error] invalid PID number "" in "/run/nginx.pid"

则执行

sudo nginx -c /etc/nginx/nginx.conf

然后在公网上访问61.174.171.61:8085,即可访问到内网的jenkins服务。

以上这篇nginx外网访问内网站点配置操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • nginx反向代理之多端口映射的实现

    代码解释 1.1 http:www.baidu.test.com默认是80,访问"/"利用反向代理,然后访问本地8083: 1.2 8083代表本地的前端工程访问地址,前端需要访问后台数据,"/",继续代理到后台地址9803: 1.3 这样就做到了只要开通80端口就可以完成多个端口访问. 1.4 root配置可以是绝对路径,也可是相对路径. server { listen 80; server_name www.baidu.test.com;#你要填写的域名,多个用

  • Nginx端口映射配置方法

    前因 搭建一个网站传统的方法是使用一个web服务器去解析文件入口文件,如使用Nginx,Apache解析到对应的入口文件,但是随着技术的发展,一些语言可以自己起一个web服务,如Node,PHP,使用开发语言启动一个web服务默认只能在本地访问,如http://localhost:8000/ http://127.0.0.1:8000/ 但是在Centos里面做开发调试环境,测试是用window的浏览器的,所以要用一个中间的web服务器做端口映射 Nginx端口映射配置 server { lis

  • 一段万能的nginx接口实现反向代理配置

    1.什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机. 2.为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度. 2)防火墙作用 由于所有的客户机请求都必须通过代理服务器访问远程

  • nginx外网访问内网站点配置操作

    背景: 站点是前后端分离:vue+springboot 前端内网地址:192.168.1.10:81 API内网地址:192.168.1.12:8080 外网域名:abc.ab.com 外网IP:10.114.X.X 需求: 通过域名可以访问站点且站点静态资源且可访问API请求数据 方案一:(前提:外网域名映射服务器外网IP) 1.nginx配置域名监听且访问静态资源 2.重点来了!!!静态资源请求API的地址由192.168.1.12:8080修改为域名访问方式(abc.ab.com:8080

  • 从外网访问内网本机的网站实现方法分享

    这是一个比较古老的话题了.一般懂得搭建网站的朋友,应该都会有分享自己小站的冲动.一来可以展示自己的作品,二来也可以方便别人看看网站,提提意见.呵呵. 鉴于网上类似的详细教程真的很少,也许是问题太简单了吧.但仍然有不少网友经常会问道.所以今天我就给大家做个详细的图文介绍.希望大家能对大家有所帮助. 想要让自己的小站能正确的被其他朋友访问到,需要注意下面几个条件: 1.IIS配置正常(这是必须的):2.你的电脑的IIS对应端口(默认为80)打开了:3.路由器里,相应的虚拟服务器功能映射到了本地IP:

  • 使用反向ssh从外网访问内网主机的方法详解

    前言 最近遇到一个问题,就是过几天我需要离开学校,而且到时候仍然想登陆校园网里的一台服务器进行工作:但是我又没有校园网网关的操作权限,不能做端口映射,也不能搞到校园网内部主机的外网ip,而且学校自己提供的vpn又根本没法用.研究了半天,总算找到了一个比较不错的利用反向ssh(reverse ssh tunnel)进行内网登陆的解决方案. 工作原理 之所以很多转发的方法无法应用在这里,就是因为内网主机对外网其实是不可见的,也就是说外部主机不能用一般的方法访问到内部主机.那么我们就想了,能不能用内网

  • VMware下配置Linux系统局域网和外网访问图文教程

    要使用Linux系统很重要的一个操作就是使Linux系统能够访问互联网,只有Linux系统能够访问互联网才能够去下载很多自己所需要的资源,如果不能访问互联网那么使用Linux系统往往会卡在这一步,假设你装的是一个minimal版本的CentOS,那么很多Linux系统下面的工具都是没有被安装的,这个时候如果不能访问互联网,你会感觉特别的蛋疼,因为很多工具都没法下载以及安装,那么,今天小编就给大家分享一下如何在VMware下配置Linux系统成功访问局域网和外网. 第一步:打开VMware虚拟机,

  • 配置Kubernetes外网访问集群

    查询 Service 关于 Service,读者可以查看官方文档的资料:https://kubernetes.io/zh/docs/concepts/services-networking/service/ Service 是 k8s 中为多个 pod 公开网络服务的抽象方法.在 k8s 中,每个 pod 都有自己的 ip 地址,而且 Service 可以为一组 pod 提供相同的 DNS ,使得多个 pod 之间可以相互通讯,k8s 可以在这些 pod 之间进行负载均衡. 查询 pod: ku

  • 阿里云服务器安装配置tomcat 添加外网访问端口的教程

    阿里云服务器安装配置tomcat 添加外网访问端口 最近双十一不是,买了一个阿里云服务器玩玩,但是配置好tomcat,添加安全组规则后,死活访问不通,telnet 也无法通过,好在最好经过一阵废寝忘食之后,成功解决问题,下面就记录一下如何解决第一次在阿里云上部署tomcat能够在外网访问,添加端口映射,只要你跟着博主的步骤操作,一般是没有问题的. 一.JAVA环境配置 1.1 Jdk和Tomcat下载 首先我们需要安装 jdk 和 tomcat ,地址都已经给您备好了,往下看: 查看linux

  • Linux安装mysql并配置外网访问的实例

    配置步骤 1.查看是否配置DNS 如果没有配置DNS参照前文配置DNS 配置相关 如果没有配置DNS yum命令找不到Linux软件库的 DNS配置免费的 DNS1=114.114.114.114即可,也可以加一个备用的DNS2=119.29.29.29 2.用yum安装mysql yum -y install mysql mysql-server mysql-dev 这里用yum 进行-y 同意操作,后面的三个软件分别是mysql, mysql-server,mysql-dev无关顺序 3.启

  • 怎样设置才能允许外网访问MySQL

    设置mysql服务允许外网访问,修改mysql的配置文件,有的是my.ini,有的是my.cnf[linux]. 1:设置mysql的配置文件      /etc/mysql/my.cnf      找到 bind-address  =127.0.0.1  将其注释掉://作用是使得不再只允许本地访问:   重启mysql:/etc/init.d/mysql restart; 2:登录mysql数据库:mysql -u root -p mysql> use mysql;   查询host值: m

  • Mysql允许外网访问设置步骤

    1.打开mysql.exe(MySQL Command Line Client),输入密码 2.输入:use mysql; 3.查询host输入: select user,host from user; 4.创建host(如果有"%"这个host值,则跳过这一步) 如果没有"%"这个host值,就执行下面这两句: mysql> update user set host='%' where user='root'; mysql> flush privile

  • Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess

    Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问,现在是将 Require all denied 以及 Require local 都该为 Require all granted 就可以了. .htaccess 如果不起作用将 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释(#)去掉就

随机推荐