前言:
在mac os中,非root用户是无法使用小于1024的常用端口的。如果开发中需要用到80端口, 就要设置端口转发。

hosts文件介绍
(1)hosts文件是将域名和IP地址建立映射关系的系统文件,用户可以自定义常用域名跟IP,当在浏览器上输入网址时,系统会优先从hosts文件找到相应的IP地址,打开相应的网页。
(2)hosts文件的作用是域名解析,构建映射关系,屏蔽垃圾网站。
(3)为什么要修改hosts文件?
在微信公众号开发时候,需要获取用户的微信信息,如果在微信开发者工具的地址栏填写localhost就获取不了,所以必须要填写审核通过的微信公众号域名。在这里,假设我的微信公众号域名为:https://test.cn 。本地启动了java项目,当你很高兴地在在微信开发者工具输入https://test.cn 时候,会注意到点击网页任意一个按钮,都不会触发到本地java项目的任何一个接口。原因好简单,因为默认hosts文件中,域名localhost 映射的是 127.0.0.1 ip地址。因此,需要把localhost 映射为https://test.cn。

修改hosts文件的步骤
(1)打开Terminal,输入以下指令:

cd /private/etc
sudo vim hosts
打开后,默认的hosts文件长这样:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 samuel.local # added by Apache Friends XAMPP
(2)把localhost 映射为https://test.cn (改成你要映射的域名)后 ,修改后是张这样的:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
#127.0.0.1 localhost
127.0.0.1 test.cn
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 samuel.local # added by Apache Friends XAMPP
保存退出。

端口转发
域名映射完成后,需要做的是端口转发,也就是将监听的80端口转发到8080。
1.创建idea.tomcat.forwarding文件:

sudo vim /etc/pf.anchors/idea.tomcat.forwarding
在idea.tomcat.forwarding添加以下命令:

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

2.创建pf-tomcat.conf文件

sudo vim /etc/pf-tomcat.conf
1
在pf-tomcat.conf添加以下命令:

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

3.启动端口转发功能

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
pfctl: pf already enabled
1
2
3
4
5
6
7
4.关闭端口转发功能

sudo pfctl -d
或者关闭全部

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

注意事项:
重启mac,需要手动重启端口转发命令

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

java项目配置
在由spring boot搭建的java开发项目中,用到的开发工具是IDEA,操作系统mac OS 10.13.4。因为微信公众号的开发需要,端口号要设置为80,
之前已经设置好端口转发,80转发到8080,所以在本地调试的时候,项目的服务器端口设置为8080,

转自:https://blog.csdn.net/samuelandkevin/article/details/80279773

mac无法使用80端口问题的更多相关文章

  1. mac os 80端口的间接使用

    资料显示 MAC OS本质是Unix系统,默认非root用户无法使用1024一下的端口,要是非要用,比如一般情况下,本地项目用tomcat运行,一般都是localhost:8080/XXXX,如果想通 ...

  2. mac不能用ip访问项目的, 还有80端口不能开启的问题

    开启80端口 参考这篇文章 解决mac无法使用80端口问题,亲测可用 1. 防火墙设置问题 2. 网卡问题 3. 服务器地址配置问题

  3. vue2.5.2版本 :MAC设置应用在127.0.0.1:80端口访问; 并将127.0.0.1指向www.yours.com ;问题“ Invalid Host header”

    0.设置自己的host文件,将127.0.0.1指向自己想要访问的域名 127.0.0.1 www.yours.com 1.MAC设置应用在127.0.0.1:80端口访问: config/index ...

  4. 收藏:解决其它程序与IIS共享80端口的四个方法

    今天写的程序也占用80端口,而 IIS也占用 80端口,我在我的一张网卡上分配了两个IP地址,但是测试发现:只要IIS启动后,我写的程序就无法使用80端口,到网上搜索了一下,终于找到了解决办法: 使用 ...

  5. IIS服务器80端口却已被占用的问题

    一.问题背景 在IIS中发布一个asp网站,发现无法使用80端口,错误为“无法启动该网站.其它网站可能正在使用同一端口”.但其实IIS的其它网站已经没有使用该端口了.这就需要设计到,找到那个进程占用这 ...

  6. vue2项目 :在hosts里面配置了装逼的模式。设置应用在127.0.0.1:80端口访问; 并将127.0.0.1指向www.yours.com ;问题“ Invalid Host header”

    转自博客:https://www.cnblogs.com/cynthia-wuqian/p/8575401.html 1.MAC设置应用在127.0.0.1:80端口访问: config/index. ...

  7. mac下8080端口到80端口的转发

    MAC OS 本质上还是 Unix 系统, Unix 系统大多默认情况下非root用户是无法使用小于1024的常用端口的.这时候如果你开发中需要在普通用户下用到80端口, 比如 tomcat, 比如 ...

  8. mac 80端口映射 配置

    mac 80端口映射 配置 macbook 下,要绑定 80 端口的话. 一种方式是用 root 权限启动,即 sudo 启动服务进程.但 sudo 指令存在一定的安全问题,能不使用的情况下我们都尽量 ...

  9. 关于mac 80端口问题

    使用 maven启动 jettry时 ,jetty使用的是80端口 ,但是 mac 在1024以下的端口似乎是不让随便使用的. 在网上查了好多方式,其中的一种说是做端口转发,其实也就是把80转换成别的 ...

随机推荐

  1. 八、cent OS下tomcat启用APR并发模式

    Tomcat支持三种接收请求的处理方式: BIO.NIO.APR ,本文记录tomcat配置APR模式,也是首选的模式.(Tomcat7 或以下,在 Linux 系统中默认使用BIO方式) 安装依赖库 ...

  2. Java基础(七)常用类

    一.Math类 1.Math类介绍 Math类属于java.lang包下面,里面包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数,该类被final修饰. 常用字段: 1.E 表示自然 ...

  3. C Primer Plus note4

    warning: implicit declaration of function 'pirntf' [-Wimplicit-function-declaration]| 这种警告是因为使用了 没有声 ...

  4. perf4j 监控请求 + traceId区分日志

    1. 场景 从request进入Controller到出去的时间, 可以统计接口访问的一些数据,如:平均处理时间.最大处理时间 2. 代码 2.1 mvc-servlet 定义切面和拦截器 <? ...

  5. 如何在VS2010环境下编译C++程序

    原文:http://blog.csdn.net/gupengnina/article/details/7441203 用 Visual Studio 编写 Visual C++ 程序的第一步是选择项目 ...

  6. Tesseract-OCR-04-使用 jTessBoxEditor 进行训练

    Tesseract-OCR-04-使用 jTessBoxEditor 进行训练 本篇是关于 jTessBoxEditor 进行训练,使 Tesseract-OCR 文字识别准确率得到极大的提高,本篇完 ...

  7. Android Studio图形基础(AS开发实战第二章学习笔记)

    图形基础 一.drawable 在代码中引用drawable文件可分为两种情况 (1)使用setBackgroundResource和setImageResource方法,可直接在参数中指定drawa ...

  8. win7 64 位安装 python,提示: 0x80240017-未指定的错误

    首先确保从python官网下载正确的python版本: https://www.python.org/downloads/windows/ 然后,应该是 VC 相关的问题. 去微软网站下载下列补丁包即 ...

  9. 一、flex布局教程:语法篇

    本文转自阮一峰大师的教程,此处做记录,方面后面自己学习使用~   布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. pymsql模块使用

    数据库连接客户端 链接:https://pan.baidu.com/s/1pM0h4SV 密码:614v  sql指令基本用法: