win10上的Django项目实现内网映射
网上有很多关于django项目发布uwsgi模块在 windows上的下载以及安装过程,
可是他们也并没有真正的在windows上使用到这个模块(至少目前在网上还没看到过),
而大部分人就是在Django自带的服务器上实现本地局域网内的各个终端去访问这个网站
过程如下:
1.在项目settings.py中去配置
DEBUG = True
# ALLOWED_HOSTS = ['*']
ALLOWED_HOSTS = ['IP'] # IP 自己电脑的ipv4
如何查看自己的ip ?
键盘同时按住(win+r)输入:cmd
进入命令提示符界面:输入ipconfig 回车
IPv4 地址 . . . . . . . . . . . . : IP
2.然后运行Django自带的服务器:
命令:python manage.py runserver IP:8000(或者80)

然后用浏览器可以进行访问,并在在本机所在局域网内的所有终端都可以访问这个网站
PC端的火狐浏览器可以访问

移动端的手机也可以访问

注意:以上都只能够在本地局域网内进行
有没有一种方式可以让我们开发java web项目那样实现真正的内网穿透(端口映射)呢??
回答是:有!我们完全可以用java web开发中的内网穿透工具和Django自带的服务器之间实现端口映射!!!
具体过程如下:
因为内网穿透的工具比较多,对于我们学生而言免费又好用的ngrok是比较好的选择
ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。
开源免费
源码:https://github.com/inconshreveable/ngrok
2.使用ngrok
在这里注册账号,https://www.ngrok.cc/login
注册成功:进入主页
点击隧道管理-->开启隧道:

点击原价0元,立即购买(每一个QQ号注册的只有一次0元购买机会)

点击确定

填写你想要的的域名(免费赠送的一个域名)填写你要映射的端口,这个端口一定要记住,而且你的这个端口没有被占用;还有就是需要记住http验证的用户名和密码;填好之后就点击确定添加

然后点击隧道管理:
- 记住隧道id(一定要记住后续端口映射需要);
- 隧道协议;
- 本地端口等。

3.ngrok本地客户端的使用
下载地址https://www.ngrok.cc/download.html
选择你所需要的版本下载即可。

下载完成之后解压缩即可使用

点击箭头所指的bat文件,输入第二步的隧道ID,回车即可。

开启成功

成功开启之后,我们可以看到有域名指向了我们本地的服务器
内网穿透工具我们已经准备就绪:
现在我们需要配置Django项目中的settings.py文件
DEBUG一定要等于TRUE

然后我们启动Django自带的服务器:(可能你会有疑问,为啥不是:python manage.py runserver 127.0.0.1:80这个命令,后面有说明,请看说明! )

此时我们的后端已近都准备好了,我们需要在浏览器中输入127.0.0.1:80所对应的域名就可以从外网访问到我们的网站了:

使用所给域名来访问这个网站,但是刚开始访问的会有个http验证,这时就需要开通隧道时的http验证用户名和密码了,输入之后就可以访问这个网站了!

注意:
listen(127.0.0.1:80) 与 listen(0.0.0.0:80)的区别
127.0.0.1 环回测试地址,代表本机IP地址,访问127.0.0.1:80表示本机的80号端口,且仅表示内网访问
0.0.0.0 网络地址,0.0.0.0:80也表示本机IP地址,以外网的方式访问
这两种表示法用以对计算机端口进行权限设置
如果listen(0.0.0.0:XX),则这个可以被外部网络访问
而 listen(127.0.0.1:XX) 则这个端口只能被本机访问
win10上的Django项目实现内网映射的更多相关文章
- 使用内网映射工具Holer将本地的Web应用映射到公网上访问
Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Su ...
- 内网映射到公网工具 --- ngrok
ngrok可以将内网映射到公网上,这样就可以在公网上访问你的网络服务. 该工具通常在进行app开发和微信开发时比较有用,这样就可避免在公网服务器上单独部署项目,通过映射,直接连接本地服务即可进行开发. ...
- 新花生壳+tomcat(内网映射,无需设置路由器)建站攻略
说明: 1.适用于内网用户(局域网,校园网,或者公司网等无法更改路由器映射的情况) 2.一共花了8块钱…………心疼.不过如果大家有钱的话,8块钱,少吃一顿麻辣烫就好了~总之,这个适用于测试网站,小访问 ...
- openvpn实现内网 映射到 外网
openvpn实现内网 映射到 外网 场景介绍: 机器介绍 本地一台Ubuntu服务器A , 处于内网中 , 无外网IP 外网一台Ubuntu服务器B , 外网地址139.199.4.205 目标 : ...
- Holer一款局域网服务器代理到公网的内网映射工具
Holer简介 Holer是一个将局域网服务器代理到公网的内网映射工具,支持转发基于TCP协议的报文. 相关链接 开源地址:https://github.com/Wisdom-Projects/hol ...
- 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题
无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...
- LanProxy 内网映射穿透
前言:用过 ngrok 的人都知道,这是一个免费并且简便的内网映射工具,可是现在ngrok不知道弄啥?不能用了,那我们只能去找一些新的工具,下面是我跟我朋友一起弄的(主要是他教我(✪ω✪)),免费的, ...
- Android Studio项目Gradle内网配置
由于内网无法连接到外部网络,在使用Gradle编译Android Studio项目时就会面临一些问题: 1.Gradle安装文件无法下载 2.Gradle Android插件无法下载 3.项目依赖文件 ...
- 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。
经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...
随机推荐
- MySQL的视图和索引
MySQL的视图 简单来说MySQL的视图就是对SELECT 命令的定义的一个快捷键,我们查询时会用到非常复杂的SELECT语句,而这个语句我们以后还会经常用到,我们可以经这个语句生产视图.视图是一个 ...
- 详解cocos2dx 3.0的release版本在android平台的签名过程
当您的游戏准备发布前,需要编译成为release版本,命令中需要增加 -m release,编译命令如下: cocos compile -p android -m release 在编译结束后,生成x ...
- 详细讲解Android中的Message的源码
相信大家对于Android中的Handler是在为熟悉不过了,但是要知道,Handler就其本身而言只是一个壳子,真正在内部起到作用的是Message这个类,对于Message这个类,相信大家也不会陌 ...
- 用JavaServiceWrapper将JAVA程序发布成Windows服务
怎么把jar文件做成系统服务,比较多的解决方案是使用 wrapper-windows 这个软件包.这个软件包的强大之处是能把jre环境也给打进去,这个服务可以正常运行在根本没有jre环境即就没有安装J ...
- 大哥带的mssql注入拿shell
任务二 注入点拿shell 路径的爆破 https://blog.csdn.net/edu_aqniu/article/details/78409451 0X01判断 是否为判断当前数据库用户名是否为 ...
- excel里面匹配部分字符的问题
如上图所示,有两个表,前者存的是区号电话号连起来的电话号,后者存的是世界各地的区号,怎么把第一个表里分成两列,一列单独存区号,一列单独存电话号. ps:电话号码长度和区号长度都 ...
- 配置kubernetes.client的参数遇到的坑
配置kubernetes.client遇到的一些坑: 一,job-name不能重名,如果job-name已经有了,再创建job,则会发生冲突cliflict 这样将会报以下错误:Reason : Co ...
- JPA使用中遇到Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped
在写自定义查询时,Query注解中写的JPQL,表名和列名都应该是映射的Java类和属性,不能写表名或者字段名
- 下载vuejs,Hello Vue(vscode)
下载vuejs,Hello Vue(vscode) Hello Vue 下载使用vue.js 动图演示 Vue的基本使用步骤 传送门:https://cn.vuejs.org/v2/guide/in ...
- sed扩展命令使用
[root@b ~]# cat f.txt inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0[root@b ~]# cat ...