解決docker開啟端口映射后,會直接穿透本機防火牆的問題


使用docker啟動MQ、Redis等服務后發現,這些映射端口無視本機防火牆,檢查各種規則,外部仍能隨意訪問。

后經本帥提醒並查閱資料,最后通過添加IP127+nginx 配置解決。

https://icharle.com/dockeriptables.html 

https://www.cnblogs.com/qjfoidnh/p/11567309.html

啟用防火牆

sudo yum install firewalld

sudo systemctl start firewalld

sudo systemctl enable firewalld

sudo firewall-cmd –state



特定IP加入白名單

sudo firewall-cmd --permanent --zone=trusted --add-source=10.24.11.133

限定IP段及端口可以訪問

sudo firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="10.110.0.0/16" port protocol="tcp" port="80" reject"

切換默認區域從 public 到 drop,以達到無視所有接入連接

sudo firewall-cmd --set-default-zone=drop

sudo firewall-cmd --reload



啟動容器時指定127.0.0.1

docker run -d --name=myrabbit -p 127.0.0.1:5672:5672 -p 127.0.0.1:15672:15672 rabbitmq:management



Nginx配置15672 


# 四層端口轉發 v1.19后支持
#stream {
#    server {
#        listen 5672;
#        proxy_pass 127.0.0.1:5672;
#    }
#}

http {

     # 七層轉發 http監控
     server {
         listen            10.110.90.54:15672;
         server_name     rabbitmq;

        location / {
             proxy_pass http://127.0.0.1:15672;
         }
     }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM