文档章节

解决MAC系统在做微信开发时候tomcat无法使用80端口问题

北岩
 北岩
发布于 2017/06/27 19:33
字数 462
阅读 100
收藏 0

 

MAC OS 本质上还是 Unix 系统, Unix 系统大多默认情况下非root用户是无法使用小于1024的常用端口的.这时候如果你开发中需要在普通用户下用到80端口, 比如 tomcat, 比如 vitualbox 下构建了一个 http 服务, 若你想直接通过 浏览器的 localhost 访问的话(不用加上莫名其妙的”:端口”的话)你就需要做一些系统端口转发的工作.

MAC OS 10.10 上pfctl就可以做这一件事情, 详情请参见

1、创建文件 :

sudo vim /etc/pf.anchors/eclipse.tomcat.forwarding

编辑文件内容为下面这段

rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443

 2、创建文件 :

sudo vim /etc/pf-tomcat.conf

编辑文件内容为下面这段

rdr-anchor "forwarding"
load anchor "forwarding"from "/etc/pf.anchors/eclipse.tomcat.forwarding"

3、启动

sudo pfctl -ef /etc/pf-tomcat.conf

执行结果如下:

root@maMacBook-Air etc# sudo pfctl -ef /etc/pf-tomcat.conf 
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

No ALTQ support in kernel
ALTQ related functions disabled
pf enabled 

假设你的工程 http://localhost/myWeb.html 这时访问你的web工程, 你会发现 http://localhost/myWeb.html 这个不需要8080端口即可访问,加上 http://localhost:8080/myWeb.html 访问不了。

4、关闭

sudo pfctl -d

执行结果

root@ymdeMacBook-Air etc# sudo pfctl -d
No ALTQ support in kernel
ALTQ related functions disabled
pf disabled

这时你访问你的web工程, 你会发现 http://localhost/myWeb.html 这个访问不了,加上 http://localhost:8080/myWeb.html 即可访问。

或者全部关闭

pfctl -F all -f /etc/pf.conf

以上就是MacOS系统tomcat修改端口到80(端口转发)的全文介绍,希望对您学习mac开发和使用有所帮助.

© 著作权归作者所有

北岩
粉丝 13
博文 78
码字总数 41383
作品 0
昌平
程序员
私信 提问
微信公众平台开发系列之必备知识

一、微信公众号开发需要准备的一些资料以及如何搭建一个测试服务器 微信公众号开发之前,首先要有一个公众号,不同类型的公众号具备不同的接口权限。 可以看到,如果想使用微信的很多高级接口...

充电实践
2018/07/07
0
0
apache http server中php转发请求问题

问题描述: 由于服务器上有两个项目,一个是PHP项目,一个是JAVA WEB项目,PHP项目占用80端口,所以在做微信支付的时候只能让微信请求发送到PHP中,PHP在转发会JAVA项目,刚开始使用tomcat7...

RunACoding
2017/03/09
128
0
自行编译ngrok服务端客户端,替代花生壳,跨平台

ngrok是一个ddns服务,可以像花生壳一样,为内网机器绑定一个公网域名,方便开发调试远程接口(如微信开发)。 很多人抱怨,微信开发的时候无法在本地实现接口调试,必须将项目放置到一个公网服...

吾爱
2016/11/09
1K
0
手摸手聊聊小程序持续集成Jenkins

本文首发在我的github博客 github.com/Pasoul/blog… ,感兴趣的同学可以点个star,不要迷路哦~ 我们为什么要持续集成? 试想以下两个场景: 场景一:你在开发新功能的时候,同事A找你要小程...

Pasoul
01/09
0
0
内网穿透工具——ngrok使用教程

ngrok介绍 许多刚学Javaweb的同学(包括我自己)肯定都非常好奇,如何在外网上访问自己做的项目,跟我们本地访问tomcat有什么区别? 今天就向大家介绍一个非常强大的外网映射工具:ngrok.ngrok可以...

小手冰凉丶
2016/12/11
874
2

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
4
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
7
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
10
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
14
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部