1. 程式人生 > >網站開發進階 二 阿裏雲將80端口請求轉發到其他端口

網站開發進階 二 阿裏雲將80端口請求轉發到其他端口

環境 pid aqi ava 外網 mil 被占用 article font

阿裏雲將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"

,回車,查看是哪個進程或者程序占用了2720端口,結果是:svchost.exe

是一個叫AliYunDun的程序將80端口占用了。

於是各種google,大神回答說阿裏盾並不是將80端口給占用了,而是為了保護請求,進行一層防護。是雲盾作為client連接了你server80端口。並不是bind listenserver80端口上。於是就有了下面的解決方法:

解決方案(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端口請求轉發到其他端口