Mac OS X下绑定80端口

Mac OS X 因为要绑定80端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除。

为此, 我们可以通过pfctl做网络层的端口转发, 让连接到本机80端口的请求, 都转发到9090端口; (注意, Mac OS 会使用80端口做网络文件共享, 要先关闭掉)

修改/etc/pf.conf, 使用sudo vim /etc/pf.conf

pf.conf是对顺序强要求的, 所以注意添加的内容放的顺序

rdr-anchor "com.apple/*"

rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 9090

添加rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 9090 到pf.conf文件的rdr-anchor "com.apple/*" 这一行后面。

lo0 通过ifconfig 看自己那个设备绑定的是127.0.0.1, lo0是这个网络设备的名字。 修改好pf.conf之后执行一下命令,让端口转发生效

sudo pfctl -d

sudo pfctl -f /etc/pf.conf

sudo pfctl -e

在tomcat的配置中,设定启动端口为9090

好了这样只需要普通权限启动tomcat在9090端口即可, 访问本地应用时直接访问80端口即可。

关注

时间: 2024-08-01 10:20:32

Mac OS X下绑定80端口的相关文章

Mac OS X 绑定80端口,不装nginx的小技巧

Mac OS X 因为要绑定80端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除. 为此, 我们可以通过pfctl做网络层的端口转发, 让连接到本机80端口的请求, 都转发到9090端口: (注意, Mac OS 会使用80端口做网络文件共享, 要先关闭掉) 修改/etc/pf.conf, 使用sudo vim /etc/pf.conf?pf.conf是对顺序强要求的, 所以注意添加的内容放的顺序 [jav

Mac OS X 下安装使用 Docker

它依赖于 LXC(Linux Container),能从网络上获得配置好的 Linux 镜像,非常容易在隔离的系统中运行自己的应用.也因为它的底层核心是个 LXC,所以在 Mac OS X 下需要在 VirtualBox 中跑一个精小的 LXC(这里是一个 Tiny Core Linux,完全在内存中运行,个头只约 24MB,启动时间小于 5 秒的 boot2docker) 虚拟机,构建在 VirtualBox 中.以后的通信过程就是 docker --> boot2docker --> co

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

Qt在Mac OS X下的编程环境搭建

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

Mac OS X下的USB设备连接与访问

由于COM协议的广泛使用,很多设备虽然接口改为了USB,但内部数据通讯协议仍然使用的是COM(即传统的RS232串口协议,新的使用TTL).很多设备使用了PL2302/CH340/FTDI等芯片来通过USB模拟出串口协议,如Arduino/NodeMCU等都采用类似的机制. 在Windows下,安装驱动程序后可以直接在"设备管理器"找到模拟的COM设备(找不到的话,可能驱动有问题了,有时候重新启动或重新安装能解决).在Linux下可以通过lsusb和dmesg列出USB端口和所模拟的C

笔记:MAC OS X下配置PHP开发、调试环境

操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使用的是xdebug 若要使用此调试器,需要在php.ini中配置: [xdebug] zend_extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so

解决 Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的方法

Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA.jEdit 等)会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.查阅了相关资料,原来这是 Java 自己的 bug.从 Java 8u51 版本开始就出现了这个 bug,一直到现在最新的 Java 8u72 仍然如此,但是老版本 Java 8u45 是没有这个问题的.所以,可以采取变通的方法,在 Mac OS X 上同时装一个老版本的 JDK 8u45,不会影响已经安装

Mac OS X 下安装python的MySQLdb模块

参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http://www.myexception.cn/operating-system/1616547.html 在Mac OS X 中安装好了MySQL和Django,在Django中访问MySQL数据库时,提示“ImportError: No module named MySQLdb”,是由于没有安装Pytho

在Mac OS X下安装Android Studio

在Mac OS X下安装Android Studio只需要几步. 1. 下载Android Studio安装包(.dmg). 2. 打开Terminal输入java -version命令查看是否已安装JDK(1.8版本及以上),如果未安装就去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载安装. 3. 双击Android Studio的dmg安装文件,把Android Studio拖放到Application