寫在前面
昨天有前端小伙伴問到,如何在自己的mac下炼蹦,把jetty配置成80端口啟動(dòng)羡宙。在實(shí)際的web開發(fā)工作中,調(diào)試時(shí)可能經(jīng)常會(huì)有這樣的需求掐隐,例如tomcat狗热、jetty、nodejs啟動(dòng)的服務(wù)虑省,想通過80端口訪問匿刮。其實(shí)在windows系統(tǒng)下,這些也不算問題探颈,改一下配置就可以啟動(dòng)了熟丸, 但在Unix-like系統(tǒng)下,默認(rèn)1024以下端口伪节,只能用root權(quán)限使用光羞。 所以使用mac的小伙伴,不會(huì)操作的可以繼續(xù)往下看怀大,使用Linux的纱兑,如果也不會(huì)操作,那你還玩什么Linux化借,趁早放棄吧潜慎!
root用戶啟動(dòng)
這個(gè)方案比較簡(jiǎn)單,啟動(dòng)相關(guān)服務(wù)切換成root用戶或用sudo的方案啟動(dòng)就可以,如果是eclipse里面的jetty插件铐炫,那eclipse也需要同樣的操作垒手。
這樣帶來的問題時(shí),服務(wù)啟動(dòng)產(chǎn)生的臨時(shí)文件也是root級(jí)別的驳遵,刪除什么的會(huì)麻煩些淫奔,另外需要修改相關(guān)服務(wù)的端口配置,且每次都要這樣堤结。
nginx/apache
可以通過nginx/apache之類的代理去做域名/端口的轉(zhuǎn)發(fā)唆迁,mac下默認(rèn)安裝apache,也可以自己安裝nginx,簡(jiǎn)單給出nginx相關(guān)配置文件如下:
server {
listen 80;
server_name xxx1.com.cn www.xxx1.com.cn;
location / {
proxy_pass http://localhost:8091;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root html;
index index.html index.htm;
}
}
server {
listen 80;
server_name xxx2.com www.xxx2.com;
location / {
proxy_pass http://localhost:7080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root html;
index index.html index.htm;
}
}
charles/whistle/fiddler
經(jīng)常做移動(dòng)端開發(fā)的,一般都了解web代理抓包的一些工具竞穷,可以u(píng)rl配置映射+本地Host的方案,實(shí)現(xiàn)域名/端口級(jí)的轉(zhuǎn)發(fā)唐责,這里不做過多介紹。
pfctl/ipfw端口轉(zhuǎn)發(fā)
這兩個(gè)工具都是mac下的瘾带,10.10以前是ipfw,現(xiàn)在升級(jí)成了pfctl,當(dāng)然Linux下也可以用iptables完成端口轉(zhuǎn)發(fā)鼠哥,這里也不介紹了,下面只介紹一下pfctl:
先對(duì)pf.conf進(jìn)行備份:cp /etc/pf.conf /etc/pf.conf.normal.bak , 之后在該文件中以下行:
rdr-anchor "com.apple/*"
后面添加一行配置看政,如下:
rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
注: lo0是本地環(huán)路127.0.0.1朴恳,如果希望內(nèi)網(wǎng)其他同學(xué)也能訪問到還要加下面的配置:
rdr on en0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
最后按順序執(zhí)行下面的命令,首次會(huì)要求輸出密碼
sudo pfctl -d
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
當(dāng)看到下面的提示后允蚣,表示端口轉(zhuǎn)發(fā)配置成功于颖,可以使用了
No ALTQ support in kernel
ALTQ related functions disabled
pf enabled