Closed yywangvr closed 2 years ago
首先说明,代理≠穿透,代理是被代理的设备(终端)通过代理服务器访问代理服务器上的资源(资源包括网络资源),穿透是公网(外网)通过穿透服务器访问到你的内网资源。说简单点,代理就是你访问别人用的,你访问别人不用指定端口。穿透是别人访问你用的,你开的端口就是你的门户,你开哪个别人才能访问哪个,不然会很危险,所以要指定端口。代理IP是把你NPC(客户端)连接的服务器作为代理服务器,NPS(服务端)本身是不做代理的,连接到你的客户端,把你指定的客户端作为代理,你在任何设备上都能通过代理端口访问这个代理服务器。当然你也可以代理到你内网服务器上的客户端,然后在另一台设备(终端)上连接到代理的服务器端口,也能访问你在内网的网站,Windows自带代理的功能就可以,你可以试试。还有这不是bug
@nineling 谢谢你的解释,术业有专攻,看得出来你很专业。
能否根据一个具体例子再解释一下,假设现在有三台机子:
ps. 很多教程提到了nginx和域名,这个应该不是必须的吧?
我并不专业,只是个臭打游戏的想搭个服务器,没什么基础所以对不明白的人有些感同身受。 对于你的问题,访问自己的网站用代理的这个行为没什么必要。对于代理的作用给你打个比方,你的C想访问一个网站,但是C所在的地区访问不了这个网站,然而你的A所在的地区能访问,这时候你就可以在A上建立一个代理服务器,让C通过A的代理来访问这个网站(没错这个例子就是翻墙)。
你想访问A的网站直接用TCP隧道就行了,tcp是可以发送http请求的(并且不止发送http,详情百度),把你网站的端口在TCP隧道上设置成本地端口,外网端口随便设置,在NPS的IP后面加上外网的端口号就能访问网站了。 当然,你要是实在想这样也不是不行,创建http代理,选择A的NPC客户端编号,然后在C上用工具或者Windows自带的代理连接到代理服务器,IP填B机子的,端口填创建时设置的端口,然后全局代理,就可以在C上访问你的网站了。
域名相当于一个跳板,别人访问你的域名时域名服务器会把域名解析到你在后台填的ip,域名比较好记,也不会直接暴露自己的ip(不用特殊方法隐藏的话是可以查到的),域名是需要购买的,想在国内建站的话网站域名还需要备案(备案稍微有点麻烦),自己用的话直接用ip就行了。 nginx是做反向代理和降低服务器负载用的,反向代理是隐藏你的A主机的IP,让别人只能看到代理主机B的ip来保证A的安全,内网穿透的话A本来就没公网,访问网站本来就需要通过B,所以不需要反向代理,其次是 网站访问量比较大,nginx可以用一些方法降低服务器负载,具体自己查,网站访问量不大的话就没必要了。
@nineling 谢谢你耐心解释,问题已经解决。
问题描述
配置tcp隧道时是可以配置被代理的tcp目标端口的,这个我已经操作成功。但是,本人在内网中设置了一个http网页,端口为8888,想通过http或者sock代理进行穿透内网访问,但是发现NPS不能配置这个目标ip地址和端口。
如图所示,NPS的web管理界面添加socks代理时,为什么只能设置公网服务器的端口,却不能设置侦听的内网socks的端口呢?
所以,在不给socks和http设置被代理的内网端口时,NPS又如何找得到目标呢?是不是NPS有个bug?
初次使用,不甚理解,望赐教!