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是对顺序强要求的, 所以注意添加的内容放的顺序

[java] view plain copy

1. 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之后执行一下命令,让端口转发生效

[plain] view plain copy

1. sudo pfctl -d

2.

3.

4. sudo pfctl -f /etc/pf.conf

5.

6.

7. sudo pfctl -e

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

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

原文地址:https://www.cnblogs.com/zhitest/p/9142485.html

时间: 2024-08-02 03:47:11

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

Mac OS X 下多个JDK版本的切换小技巧

如果在系统中安装了多个Java JDK 版本,可能会根据项目或编译环境的不同来回切换,下面有两种非常方便的方法供大家选择. 我的机器上有 Java 7 和 Java 8,大家根据自己的 JDK 版本自行修改. 方法一:在你的 home 目录下的.bash_profile文件中加入以下内容,若此文件不存在,自己创建一个即可. export JAVA_HOME_7=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home expo

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-

windows server 下允许端口或者程序运行的小技巧

背景:在windows server服务器中,部署了一个应用程序,如http协议的应用程序时,当外网通过http协议访问网页时,就需要获得服务器的允许入站,网页内容才可以正常显示在访问者的浏览器中,否则,就无法正常显示网页,结果类似如下: 那么,怎样建立正常访问网页的入站规则呢? 通常,在测试一个网站时候,我们就会禁用windows防火墙,毕竟,禁用了防火墙,一切访问变得没有阻力.如下图所示: 而当我们正式部署网站时,windows防火墙还是应该启用的,且只能通过设置一些访问规则来让程序和网页能

setsockopt绑定80端口

[2014/10/23 23:52] setsockopt设置与某个套接字关联的选项. <param>sock</param>  将要设置的套接字 <param>level</param>  选项所在的协议层.比如套接字层SOL_SOCKET <param>optname</param>  操作的选项名 <param>optval</param> 指向包含新选项值的缓冲 <param>optlen&

OS X - 在80端口启动Nginx

不知道你是怎么在你的mac上安装nginx的,但是如果你跟我一样: brew install nginx 然后你会发现你的nginx.conf中的端口是8080. 于是你可能像我一样试着把端口改为80,然后reload一下. 你发现没有任何错误提示,当你访问localhost时却没有nginx的首页,甚至连403也没有. 于是你尝试... sudo lsof -n -i:80 | grep -i LISTEN 却发现没有输出和nginx有关的任何东西. 于是才想起OSX不允许system级以外的

linux中绑定80端口失败

Ubuntu 14.10 64bit bind 80端口失败,提示: Bind error! : Permission denied 起初以为是80已经被占用,lsof -i :80 , 发现没有, 结果发现 在基于Unix的系统上,绑定小于1024的端口需要root权限. 解决方法很简单,以root权限运行程序吧.. 当然还有其它办法,如反向代理,端口转发等....

ubuntu下Tomcat绑定80端口

转载自:https://www.2cto.com/os/201102/84081.html 工作环境迁移到了Ubuntu,很多东西发生了变化,比如原先配置tomcat端口.只需要配置server.xml文件就可以了.但是在Ubuntu下,只修改了server.xml文件后发现无法访问到服务.起初以为是有别的进程占用了80端口,但是通过netstat -an | grep 80后并没有发现有进程在占用80,Google了一下,发现tomcat使用1023以下的端口时需要使用authbind来指定.

Mac OS X 10.15 编译和安装 Nginx

想在自己电脑里装个 Nginx 来进行各种测试,下面是详细的过程记录: 1. 下载软件 首先建个临时目录 nginx-src 并下载所需软件的源码进行配置 mkdir nginx-src cd nginx-src wget http://nginx.org/download/nginx-1.17.8.tar.gz wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz wget https://www.openssl.org/source/open

mac os x 查看网络端口情况

查看端口是否打开 使用 netstat 命令 a. `netstat -nat | grep <端口号>` , 如命令 `netstat -nat | grep 3306` b. `netstat -nat |grep LISTEN` 使用 lsof 命令 # yongfu-pro at yongfu-pro.local in ~ [22:39:32] $ lsof -n -P -i TCP -s TCP:LISTEN COMMAND PID USER FD TYPE DEVICE SIZE/