当前位置:首页 > 教程 > 正文内容

nginx实现外网访问(nginx外网访问内网web)

2023-04-24 08:10:05教程1

nginx外网访问内网web

同一个域名可以使用不同的二级域名来实现内网服务

比如有一个域名是abc.com

a.abc.com给服务一用

b.abc.com给服务二使用

也可以用同一个二级域名通过不同的uri来实现不同服务

abc.com/a 指向服务一

abc.com/b 指向服务二

使用nginx 也可以使用反向代理 代理内网的不同服务

nginx配置外网映射内网

由于内网电脑没有公网IP,所以外网电脑无法直接向内网电脑发起连接。

为实现我们的目标,需要从内网电脑主动向一个公网服务器发起一个连接,外网电脑通过这个服务器使用这一连接,再通过内网电脑进行访问。

nginx外网访问内网域名 设置过滤

当然可以。

Nginx是一款高性能的HTTP和反向代理服务器,具有内存占用小、高并发的特性。国内互联网大企业大多使用的就是Nginx,淘宝还基于Nginx开发了Tengine。

Nginx的用途:

1、反向代理

在LNMP这种架构模式下,其实就用到了反向代理。因为Nginx它默认只支持静态资源的请求,比如说PHP脚本也不是由Nginx直接解析的,而是由Nginx反向代理(通过 proxy_pass 指令)到PHP-FPM去解析的。

所以我们通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服务器上。

2、负载均衡

当我们的站点访问量大时,为了缓解单一应用服务器的压力我们通常会扩容多台服务器,此时如何把流量分发给不同服务器呢?通过Nginx就可以实现负载均衡了,Nginx负载均衡策略也很多,主要有:RR(轮询)、weight(权重)、ip_hash(IP Hash)、fair(后端服务器响应时间)、url_hash(URL Hash)这几种。

3、动静分离

Nginx本身只支持静态资源的处理,借助Nginx我们可以实现动静分离,即:将静态请求交给Nginx处理,将动态请求通过转发给后端服务器。

4、Nginx扩展

通过Nginx扩展可以实现很多功能,如:

图片在线裁剪;

请求合并;

资源压缩等。

nginx外网无法访问

内网NGINX配置域名后如需使用域名访问需要有对应的域名解析CDN,

如仅内网访问也可以使用IP,或者本地电脑做hosta记录

公网访问需要租用公网IP绑定域名解析

nginx外网访问内网服务器

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

实验环境

nginx1.12.1 : 192.168.1.19

mysql : 192.168.1.20:3306

1:编译或者升级nginx至版本1.9.0以上,编译过程中需带上--with-stream。

# ./configure --prefix=/opt/apps/nginx --with-stream

# make && make install

2:配置stream,定义代理192.168.1.20的3306端口映射为端口2333。

# vi /opt/apps/nginx/conf/nginx.conf

……

……

events {

use epoll;

worker_connections 65535;

}

#stream配置

stream {

server {

listen 2333;

proxy_connect_timeout 1s;

proxy_timeout 3s;

proxy_pass 192.168.1.20:3306;

}

}

http {

……

……

}

3:开启nginx,验证代理是否生效。

image.png

可以看到我们现在可以通过nginx代理的端口访问到内网的mysql服务了。这也直接避免了mysql直接暴露到公网,增加些许的安全。当然,利用stream也可以实现后端服务的负载均衡。

nginx外网访问内网

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

可以通过nginx代理的端口访问到内网的mysql服务了。这也直接避免了mysql直接暴露到公网,增加些许的安全。当然,利用stream也可以实现后端服务的负载均衡。

nginx 内外网

答:直接在浏览器输入你的IP就可以了

如果无法访问先用内网IP测试看看,如果内网可以访问,可能是路由器设定问题,

通讯埠转发记得要开80端口给你的nginx的内网IP

如果内网就无法访问,查看一下nginx的服务有没有启动,如果服务正常启动,查看防火墻是否有开80端口访问或者是防火墻是否有吧nginx服务阻挡掉

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98795010.html