Mac系统开发常见问题-80端口被占用的解决方案1-使用pfctl做网络层转发
2016-05-31 21:05
651 查看
IntelliJ IDEA之Tomcat启动相关报错:
1.EvnetLog报错:Error running test1: Address localhost:80 is already in use
大致可能解决方案1:
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 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之后执行一下命令,让端口转发生效
在tomcat的配置中,设定启动端口为9090
好了这样只需要普通权限启动tomcat在9090端口即可, 访问本地应用时直接访问80端口即可。
1.EvnetLog报错:Error running test1: Address localhost:80 is already in use
大致可能解决方案1:
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端口即可。
相关文章推荐
- TCP的拥塞避免、超时重传、快速重传、快速恢复
- Linux 网络配置
- HttpUtils请求数据
- TCP 客户端 服务端详细代码
- HTTP消息头的讲解
- Kerberos(转:http://www.cnblogs.com/jankie/archive/2011/08/22/2149285.html)
- http
- HTML5+CSS3-第五节(边框背景图、多背景图、CSS选择器、网络字体、边框背景图片、过渡、放大、旋转)
- 在Android应用中使用自定义证书的HTTPS连接(下)
- Tcp/Ip通信协议
- 表单中 get与post提交方法的区别
- Java -网络IO编程
- hdu 1565&hdu 1569(网络流--最小点权值覆盖)
- CAFFE- faster rcnn修改demo.py保存网络中间结果
- 第三方xUtils中HttpUtils请求网络数据与Pull解析
- Android 网络之 Volley+OkHttp+Https
- Nginx http_user_agent 防御 ab 等
- HTTP协议简析
- Python编写telnet网络交换机
- 【简介】利用Arduino和Coolpy设计网关 —— HTTP协议