导读

  闲置着一台笔记本,想拿来作为服务器来玩,先拿来发布之前的毕业设计的博客系统,百度搜出的资料玉石难辨,而且大多数前篇一律,刚开始参考了大多数资料来设置还是没能真正发布成功,最后发现原来网上大部分提到的那些设置都有一个前提 —— 那就是,本地(路由器)WLAN接口被分配的IP是公网IP。(参考文章第2节内容)

  作为一个网站建设小白,知道这一事实也是折腾了一些时间,好在没放弃无意间发现了这个事实。

  这篇文章主要记录我在(路由器)无公网IP的情况下,使用 花生壳 ,通过域名成功访问局域网本地网站 的过程。

  本地网站为使用tomcat服务器运行的 JSP 网站,网络提供商为电信,上网方式为宽带拨号上网。


目录
  1. 失败的尝试
  2. 适合的解决方案
  3. 外网成功访问
1、失败的尝试

  本地已经搭建好的网站,通过 "localhost:端口号/项目名"  \  “127.0.0.1:端口号/项目名” 可以本机访问,通过 “内网IP:端口号/项目名” 可以局域网内访问了,接下来要通过外网(公网)来访问本地网站。

  接下来要做的就访问自己的路由器,设置虚拟服务器。

在路由器设置虚拟服务器

简单的说,设置虚拟服务器就是,设置局域网里哪台主机的哪个端口来接收服务器要接收的数据。具体来说,就是让路由器在收到 WLAN 端的数据包后,在转发时选择我们设置的内网IP和端口号来转发数据包。

不同路由器的具体操作不尽相同,我这里的路由器是水星(Mercury)MW300R , 大体步骤为:

1、连接路由发出的网络后,访问192.168.1.1 或 192.168.0.1 或路由器上贴着的提示域名网址,输入密码登录管理路由器。

2、找到相关设置(高级设置->高级用户)里的 “虚拟服务器” 设置页面,来添加转发规则。

3、添加一条转发规则,如下图所示,“外部端口” 是访问外部IP时使用的端口号, “内部端口”是在本地访问网站时使用的端口号, IP地址是本机的内网IP,协议类型 TCP。

按理来说,按照上图这样设置好转发规则之后,通过百度搜索“IP”得到的IP(我得到的是 61.144.105.245)和 外部端口号,使用“ 61.144.105.245:8899/BesBlog ”就可以访问我本地的网站了,可是给我的提示一直是“

无法访问此网站

61.144.105.245 拒绝了我们的连接请求。

此过程主要参考的文章有 :这里

逐步排除设置虚拟服务器了还不能访问的原因

接下来,参考的网站有: 设置了虚拟服务器,外网还是无法访问内网服务器怎么办?       如何解决设置虚拟服务器不生效

设置了虚拟服务器不能访问的原因有很多,建议上面2个链接详细的看下,在第2个链接 的 4.2 小点,终于发现了我设置无效的原因:

      WAN口IP地址不是公网IP地址,无法进行虚拟服务器映射。

      解决办法:局域网内的电脑访问ip138.com,如查看到的IP地址与路由器WAN口IP地址不同,建议联系宽带服务商解决问题。

      IP138.com网页上的显示如下图所示:

          

      路由器WAN口IP地址(在路由器管理界面 系统状态 页面查看):

                  

被忽视的 路由器WLAN端 IP

原来网络运营商在给我提供上网功能的时候,不一定会给到我们一个全球唯一的公网IP,我们自己路由“WLAN端” 得到的IP可能还是另一个局域网内的IP; 还可能有这么一种情况:拉的联通的带宽,分配的IP只能在联通内部访问,移动网络不能访问。这个IP最多只能算是“联通内的公网IP”,不是真的公网IP。

那么,如何判断自己路由器 “ WLAN端 ”IP是否为真实公网IP呢? 参考   如何判断自己外网IP是否为真实公网IP,以及解决方案

得出结论

根据参考中查询IP的网站,登录万网http://www.net.cn/static/customercare/yourip.asp 查看获得的IP地址,(万网获取IP是二个,则是IP经运营商转换的内网环境)
我的到的结果是:

您的本地上网IP是:

61.144.105.245, 10.147.39.128

怪不得我再设置了虚拟服务器的ip和端口转发规则之后,通过百度搜索“ip”直接查询到自己的外网IP “61.144.105.245”  和 设置的端口还访问不了本地的网站,原来在访问更外层的路由器时可能就被做其他处理了。

2、适合的解决方案

确定了自己的原因是 “无公网IP” 之后,参考的方案 可以在下面链接中查找:

自己的服务器做网站服务之解决动态IP无公网IP端口80被封HTTP被屏蔽的方法       如何判断自己外网IP是否为真实公网IP,以及解决方案

对于我这种情况,或许可以向提供商要IP(感觉比较困难),我想应该是避免不了使用第三方端口映射软件,将域名绑定服务器,将内网网站应用映射到外网域名。

nat123 还没用过, 花生壳我注册过,还买了几个5块钱的永久域名(新用户才有好像)。

使用 花生壳 域名域名配置过程

使用花生壳就不需要上面的配置了,直接按下面来:

注册购买域名

注册后送了一个域名,但是简直没法看,另外买了几个不那么丑的域名。登陆后在 这个页面 可以查看:

开通“ 内网穿透 ”

应该是得开通 “内网穿透”的,我选择了最便宜的开通(6块钱 申请开通权限+ 10块钱 1年每月1G流量),好像每个域名只可以映射一个端口,总共可以映射2个域名,我只是玩玩应该够了。

开通后,在 这个 页面 点击“添加映射”

具体添加过程参考 这里

重启 “花生壳” 客户端

对端口的映射的配置是在 花生壳 网站上配置的,配置完之后要真正有效,还得一直开着 “花生壳” 客户端。

3、外网成功访问

我配置的域名 是 bensonlaur.vicp.io ,外部端口号80; 内网访问地址为主机局域网地址 192.168.1.111 , 服务端口按自己的来设置。

访问项目我正在跑的项目 BesBlog: http://bensonlaur.vicp.io/BesBlog/ (本地电脑,没跑时改链接无效)     http://beslyric.320.io/BesBlog (阿里云,预计2020年8月以前有效)

转载于:https://www.cnblogs.com/BensonLaur/p/7077053.html

Web —— 在自己电脑搭建网站,发布到公网,并使用域名访问相关推荐

  1. 如何将群晖nas上的网站发布到公网 2/3

     系列文章  如何将群晖nas上的网站发布到公网 1/3  如何将群晖nas上的网站发布到公网 2/3 如何将群晖nas上的网站发布到公网 3/3 上一篇:  如何将群晖nas上的网站发布到公网 1/ ...

  2. 阿里云主机搭建网站,并使外网可访问到

    一.在阿里云主机搭建网站 1.连接上阿里云主机,在里面操作:(在本地的电脑使用远程桌面连接即可,输入公网IP和用户密码进行连接) 下载phpstudy(一个类似WEB服务器的软件工具,搭建服务器环境) ...

  3. 如何搭建网站?第二步:购买服务器域名

    因为我使用的是阿里云,所以就用阿里云来做案例,分享一下搭建网站的实际操作过程,如果你是位新手站长,建议按照我的步骤慢慢来. 一. 购买服务器 首先去阿里云的官方网站,注册账号后登陆,这里建议站长们不要 ...

  4. 将个人java web网站发布至公网#内网穿透#花生壳#手把手教程

    先写个标题   相信很多人在学web的时候都不满足于在本地或是局域网内运行自己刚写的网站,必须得分享给其他小伙伴们装装逼才肯罢休.而想要让外网访问我们的网站,大多数初学者(比如我)面对公网ip.域名解 ...

  5. 快速将局域网视频照片网站发布至公网,无需服务器

    不知从何时开始,身边的朋友越来越多的投入手作的怀抱,很多朋友都开始尝试着自己制作的点什么,有的爱好摆件,有的专攻饰品,还有的痴迷美食.每天打开朋友圈,都会各种晒制品成品.细看一番,发觉手作不仅是生活态 ...

  6. 如何将express搭建的后台代码部署到服务器域名访问

    1.首先端口修改:个人阿里云服务器开放的端口是80(http)和443(https),所以要把监听的端口改成80. 进入bin文件夹下面的www文件,将server.listen(port)改成ser ...

  7. 把自己电脑做成web服务器+内网穿透并发布网页

    把自己电脑做成web服务器加内网穿透发布网站. 前言:由于学校WiFi为内网ip,且WiFi 为动态ip 由于为动态IP,每次登陆都会换IP地址,所以建议网线连接或者一直开机不断网,否则每次开机都要重 ...

  8. 树莓派搭建网站,并免费内网穿透发布上线到公网

    系列文章 树莓派搭建网站,并免费内网穿透发布上线到公网 树莓派搭建WordPress网站,并内网穿透发布上线无需公网IP服务器 为树莓派上的WordPress网站配置自己的域名,并内网穿透发布上线公网 ...

  9. Ubuntu上搭建网站【建立数据隧道,降低开支】

    上篇:Ubuntu搭建web站点并发布公网访问 目录 1.安装WordPress 2.创建WordPress数据库 3.安装相对URL插件 4.内网穿透将网站发布上线 1.命令行方式: 2.图形化操作 ...

最新文章

  1. 过采样中用到的SMOTE算法
  2. python bmp转jpg_利用python实现.dcm格式图像转为.jpg格式
  3. ffmpeg rtmp 推流错误WriteN, RTMP send error 10053 10038
  4. w ndows10怎么联网,windows10所有uwp应用都无法联网的两种解决方法
  5. python教程视频-Python系列视频(一)——Python语言基础
  6. 私人订制,一份专属你的数据分析课程!
  7. 11.Linux/Unix 系统编程手册(上) -- 系统限制和选项
  8. 并发编程(6)基于锁的并发数据结构设计
  9. matlab色散光纤,基于MATLAB的高速光通信色散补偿技术
  10. 微信语音对方无法听到声音解决办法
  11. 除了“带地球去流浪”,还有哪些脑洞大开的太空计划?
  12. Hadoop与spark性能比较试验
  13. AVI音视频封装格式学习(三)——AVI 数据结构解析
  14. 一个iOS程序员的BAT面试经验
  15. 华三路由器qos 简单的接口限速
  16. 单片机遥控开关系统设计(结构原理、电路、程序)
  17. 国密算法—SM2介绍及基于BC的实现
  18. ftp服务器上传不了文件怎么办,ftp服务器怎么上传不了文件
  19. Redis使用setnx实现分布式锁及其问题、优化
  20. Revit二次开发_修改快捷键

热门文章

  1. Envoy 自定义授权和限流示例
  2. 网易云音乐安装失败,提示未安装软件包vlc
  3. sql日期格式化(Yy等字母格式的区别)
  4. 平面设计新书怎么做好画册设计?画册设计表现形式有哪些?
  5. 玉米社:网站友情链接交换5大注意事项,你知道吗?
  6. Latex中表格中固定表格宽度时出现错误“LaTeX Error: Illegal character in array arg.”
  7. jQuery 遍历 JSON 对象
  8. 线程的优先级、等待线程、守护线程
  9. 一键修复PS 2021扩展插件图标不显示的问题
  10. linux底层开发视频教学,ARM Linux嵌入式音视频设备底层开发