網站開發進階 二 阿裏雲將80端口請求轉發到其他端口
阿裏雲將80端口請求轉發到其他端口
背景
租了一臺阿裏雲ECS,想搭建一個java Web 程序,環境都搭建好後,將Tomcat端口改為80並執行。
./startup.sh
程序報錯端口號沖突。
估計是80端口被占用了,但是想綁定域名,還是需要將80端口映射到tomcat才行。
於是檢查占用80端口的程序
輸入命令:netstat -ano,列出所有端口的情況。在列表中我們觀察被占用的端口,比如是49157,首先找到它。
查看被占用端口對應的PID,輸入命令:netstat -aon|findstr "49157",回車,記下最後一位數字,即PID,這裏是2720。
繼續輸入tasklist|findstr "2720"
是一個叫AliYunDun的程序將80端口占用了。
於是各種google,大神回答說阿裏盾並不是將80端口給占用了,而是為了保護請求,進行一層防護。是雲盾作為client連接了你server的80端口。並不是bind listen在server的80端口上。於是就有了下面的解決方法:
解決方案(Linux環境)
由於80端口受到各種保護措施,所以一般程序是無法獲取80端口使用權的,要想實現不輸入端口號直接訪問程序,需要將80端口的請求轉發到Tomcat設定的端口上去,也就是默認的8080端口。
首先查看服務器網卡及ip設置:
很明顯eth1為外網網卡。
設置端口號轉發規則:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
保存規則
[root ~]# cd /etc/rc.d/init.d
[root ~]# ./iptables save
## iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
搞定!
註:此處的80端口是指提供web服務的TCP端口80。
Windows server環境下,需要進行端口映射。詳情見博客“Windows NAT端口映射”。
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net
網站開發進階 二 阿裏雲將80端口請求轉發到其他端口