您好,登錄后才能下訂單哦!
應用場景
很多情況下,我們在linux服務器上安裝了tomcat或者nginx之類的軟件.
當我們想用80端口的時候,如果不用root用戶啟動就會報錯.
這是因為,對于linux系統而言,1024以下的端口,普通用戶是無法使用的.
網上關于這方面的解決方案有兩種,一種呢就是什么給文件root權限.
還有一種就是做端口的跳轉.我覺得可能端口跳轉可能比較安全吧.就著重介紹一下怎么配置.
IPTABLES
在這里我們主要做的是本機的端口跳轉,我主要說下如何設置以及刪除.
關于iptables的詳細信息,可以參考網上很多資料.
添加一個端口的映射
現在我們要做一件事情,假設我們的linux上安裝了tomcat.默認訪問端口是8080.
現在我想做到當用戶訪問80端口的時候就能訪問到tomcat了.
只需要在root用戶下執行命令
iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080
-t nat : 指出我要操作什么表.(不寫就表示filter.默認是filter)
-A PREROUTING : A 添加的意思.表示我要在PREROUTING 中添加一個規則
–dport 80 : 如果請求80端口.
–to-port 8080 : 那么就轉到8080端口.
測試如下 :
如何刪除規則
從上面我們可以看出,我們是在 nat表的PREROUTING 中添加的規則.
所以我們就要去nat表的PREROUTING 中刪除這個規則.
iptables -t nat -L -nv --line-numbers
這個命令的作用是,列出nat表中的規則,并且給個num.
然后我們就可以利用這個id刪除這個規則了.
如果你不寫-t nat 那么默認查找的就是filter表.那么就無法查找規則.
利用這個語句就可以刪除這個規則了.
-t nat : 表示我要操作這個表,不指明就是filter.
-D : 表示執行刪除操作
PREROUTING : 表示nat表中哪一個鏈. 后面數字1 就是上圖中的num
總結
我做了下面幾個實驗,nginx占用80端口.tomcat占用8080端口.
開啟nginx,tomcat
1. 如果開啟了轉跳,那么就訪問不到nginx了.因為訪問80端口的時候一下跳到8080端口去了.
2 關閉端口跳轉,就能訪問到nginx了.
3 從上可以看出,端口跳轉不會占用端口.
4 如果添加規則訪問沒有達到想要的效果,清楚瀏覽器緩存就可以了.
5 以上所有操作重啟以后全部消失.如果要保留操作,請執行 service iptables restart
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。