mac 80端口映射 配置

macbook 下,要绑定 80 端口的话。

一种方式是用 root 权限启动,即 sudo 启动服务进程。但 sudo 指令存在一定的安全问题,能不使用的情况下我们都尽量不要使用。

所以这里给出另外一种解决方法

端口映射

  1. /etc/pf.anchors/ 目录下创建一份 xxx.forwarding (xxx 可以自定义)

    $ sudo touch /etc/pf.anchors/xxx.forwarding

    插入以下内容

    rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 10080
    rdr pass inet proto tcp from any to any port 443 -> 127.0.0.1 port 10443
  2. /etc/ 目录下创建一份 pf-xxx.conf (xxx 可以自定义)

    $ touch /etc/pf-xxx.conf

    插入以下内容 (xxx.forwarding 为 步骤1 创建的文件)

    rdr-anchor "xxx.forwarding"
    load anchor "xxx.forwarding" from "/etc/pf.anchors/xxx.forwarding"
  3. 执行 $ pfctl -vnf /etc/pf-xxx.conf 检查配置文件有没有问题 (非必须)

  4. 执行 $ sudo pfctl -F all -ef /etc/pf-xxx.conf 让端口转发生效

  5. 执行 $ sudo pfctl -s nat 查看是否生效

    若出现以下输出则证明端口转发成功

    rdr-anchor "xxx.forwarding" all
  6. 现在,启动服务进程,监听 10080 端口,访问下 http://localhost/ 试试吧 :)

开机自启动配置

端口映射的配置已经生效,但每次重启电脑后都要重新执行一次让端口转发生效的命令显然是很不方便的。所以我们要增加一份开机自启动的配置

  1. /usr/local/bin/ 目录下创建一份 enable-pf-xxx.sh (xxx 可以自定义)

    $ touch /usr/local/bin/enable-pf-xxx.sh

    插入以下内容 (pf-xxx.conf 为 端口映射步骤2 创建的文件)

    #!/bin/bash
    
    sleep 10
    /sbin/pfctl -ef /etc/pf-xxx.conf

    同时给 enable-pf-xxx.sh 提权

    chmod 755 /usr/local/bin/enable-pf-xxx.sh
  2. /Library/LaunchDaemons/ 目录下创建一份 com.xxx.pfctl.plist (xxx 可以自定义)

    $ touch /Library/LaunchDaemons/com.xxx.pfctl.plist

    插入以下内容 (com.xxx.pfctl 可自定义, enable-pf-xxx.sh 为 开机自启动配置步骤1 创建的文件)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.xxx.pfctl</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/local/bin/enable-pf-xxx.sh</string>
    </array>
    <key>StandardOutPath</key>
    <string>/var/log/pf/access.log</string>
    <key>StandardErrorPath</key>
    <string>/var/log/pf/error.log</string>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>

    ps: 生成的日志会存放在 /var/log/ 目录下

  3. 每次开机之后 mac 都会自动去执行 /Library/LaunchDaemons/目录下的文件。所以配置好了之后可以重启一下, 执行 端口映射步骤5 的命令查看自启动配置是否生效

mac 80端口映射 配置的更多相关文章

  1. linux将80端口映射到指定端口命令

    1.添加一个端口映射 将80端口映射到8088端口命令如下: iptables -t nat -I PREROUTING -p tcp --dport 80-j REDIRECT --to-port ...

  2. ssh 端口转发实现外网 80 端口映射到内网 80 端口

    开发中经常需要外网服务映射到本机内网服务的需要,便于调试. 以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发. 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了. 最初老想不明白一件 ...

  3. 关于mac 80端口问题

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

  4. 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...

  5. Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...

  6. windows下开启端口映射配置办法

    #1.添加一个端口映射 netsh interface portproxy add v4tov4 listenaddress=大网IP listenport=端口  connectaddress=要映 ...

  7. 天融信(NAT)地址转换端口映射配置

    目的地址为公司的公网地址 服务:选择或者自己定义一个端口号,就是要映射到服务器上的那个端口号 目的地址转换为:服务器ip 目的端口转换为:选择定义的服务(端口号) 规则描述:随便写

  8. VMware端口映射配置步骤

    1:编辑->虚拟网络编辑器 2:点击NAT模式-->NAT设置 3:注意:主机端口就是物理机的端口,虚拟机就是wmware中的系统 点击添加

  9. Linux端口映射,80端口映射到8080端口

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 其中eth0为外网网卡名称 ipt ...

随机推荐

  1. Hadoop系列之(一):Hadoop单机部署

    1. Hadoop介绍 Hadoop是一个能够对海量数据进行分布式处理的系统架构. Hadoop框架的核心是:HDFS和MapReduce. HDFS分布式文件系统为海量的数据提供了存储, MapRe ...

  2. 字符串_KMP算法(求next[]模板 hdu 1711)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 问题描述:给两个序列a,b,长度分别为n,m(1<=n<=1000000,1< ...

  3. SSI

    一.简介 SSI(Server Side Includes)技术,是为WEB服务器提供的一套命令,在HTML文档中通过注释行调用的命令或指针,就可以将文本.图形或应用程序信息包含到网页中. SSI具备 ...

  4. java Memorymapfile demo

    String lineseperator = java.security.AccessController .doPrivileged(new sun.security.action.GetPrope ...

  5. javaScript事件(三)事件对象

    一.事件 二.事件流 以上内容见:javaScript事件(一)事件流 三.事件处理程序 四.IE事件处理程序 以上内容见javaScript事件(二)事件处理程序 五.事件对象 1.认识事件对象 事 ...

  6. UESTC 923 稳住GCD DP + GCD

    定义:dp[i][j] 表示 在前i个数中,使整个gcd值为j时最少取的数个数. 则有方程: gg = gcd(a[i],j) gg == j : 添加这个数gcd不变,不添加,  dp[i][j] ...

  7. POJ 2449 Remmarguts' Date --K短路

    题意就是要求第K短的路的长度(S->T). 对于K短路,朴素想法是bfs,使用优先队列从源点s进行bfs,当第K次遍历到T的时候,就是K短路的长度. 但是这种方法效率太低,会扩展出很多状态,所以 ...

  8. SpringMVC 通过post接收form参数或者json参数

    springmvc的controller很多都用来提供restful服务,成为多功能action 同一个接口既能够提供给web端,也可以提供给ios以及安卓 @RequestBody 可以把接收到的j ...

  9. Mecanim的Avater

    角色共用同一套动作原理 先说说为什么不同的角色可以共用同一套动作:因为导入之后,我们需要为它们每一个模型都创建一个Avater,而Avater里存储了骨骼的蒙皮信息(创建Avater时把三维软件里的蒙 ...

  10. LoadRunner参数化MySQL

    准备:安装[msql-ODBC驱动] 一.配置数据源 1.Win7,打开控制面板-系统和安全-管理工具,点击“数据源(ODBC)”. 打开数据源(ODBC),在用户DSN选项卡中点击“添加”按钮,弹出 ...