使用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; } } }