解決xampp 外網訪問不了
裝完xampp5.6 後發現區域網(外網)不能訪問!
這個問題困擾我很久,在網上找,修改http.conf http-xampp.conf 等都沒效果‘
而且網上大部分解決辦法,包括官網上寫的也是
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
#Deny from all
Allow from 127.0.0.0/8
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
</LocationMatch>
我真想罵人! 因為這些檔案根本就沒有什麼<locationMatch></locationMatch>好嗎?
原因我想是 很久之前的版本的xampp了! 看來更新的太慢了,現在人都不解決這個問題了。
後來找到一個和我一樣問題的。http://blog.csdn.net/Yade_Lei/article/details/52081907
確實應該考慮防火牆的設定
方法1.介面配置,在CentOS7 ->雜項->防火牆軟 設定 但是看起來比較複雜,可以參考http://blog.csdn.net/xlgen157387/article/details/52672988
在 CentOS 7
暫時開放 ftp 服務
# firewall-cmd --add-service=ftp
永久開放 ftp 服務
# firewall-cmd --add-service=ftp --permanent
永久關閉
# firewall-cmd --remove-service=ftp --permanent
success
讓設定生效
# systemctl restart firewalld
檢視設定是否生效
# iptables -L -n | grep 21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp
dpt:21 ctstate NEW
檢查防火牆狀態
# firewall-cmd --state
running
# systemctl stop firewalld
# firewall-cmd --state
not running
# firewall-cmd --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
在 FirewallD 的服務名稱
# firewall-cmd --get-service
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
查詢服務的啟用狀態
# firewall-cmd --query-service ftp
yes
# firewall-cmd --query-service ssh
yes
# firewall-cmd --query-service samba
no
# firewall-cmd --query-service http
no
自行加入要開放的 Port
# firewall-cmd --add-port=3128/tcp
# firewall-cmd --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ftp ssh
ports: 3128/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
總結:基本上2種指令就OK了
firewall-cmd --add-service=
或firewall-cmd --add-ports=
方法2:配置iptables ,
如果沒有裝執行:yum install iptables-services
可以看防火牆狀態: systemctl status iptables.service
可以看防火牆是否是活動的。
解決方法來了:
執行:gedit /etc/sysconfig/iptables
新增命令:
#SSH
-A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 8080 -j ACCEPT
#HTTPS
-A INPUT -p tcp --dport 443 -j ACCEPT
#POP3
-A INPUT -p tcp --dport 110 -j ACCEPT
#SMTP
-A INPUT -p tcp --dport 25 -j ACCEPT
#FTP
-A INPUT -p tcp --dport 21 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
#DNS
-A INPUT -p tcp --dport 53 -j ACCEPT
執行:systemctrl restart iptables.service 啟動防火牆埠
4、新增開機自啟動,預設不會 開啟啟動
執行:systemctl enable iptables.service#設定防火牆開機啟動
但是開機後:檢視是否啟動: systemctl status iptables.service
顯示的是enable 但是 Active :inactive(dead)
表示未成功啟動,原因是沒有遮蔽firewalld防火牆,執行
systemctl stop firewalld
systemctl mask firewalld
解決!