请教一下这是什么问题?
我用docker+WordPress建了一个网站,然后通过宝塔把域名绑定了
但通过域名进入网页是没有图片的,只有文字,然后左上角还有个“跳至内容什么的”,点击后就进到用ip地址打开的网页了,这里显示的就都正常了。
浏览器f12看下network,请求中,是不是你的js css img或者其他文件的路径不对(有返回404的现象)
不要问我为什么把问题描述的这么清楚,以为上面的8点我都试过,国外虚拟主机和测试虚拟机我也都刚好碰到,是不是很神奇,我也觉得,可能恰好是我这些情况都碰到了才找到解决方案!!!
1.先检查端口是否打开,或者防火墙关闭
查询指定端口是否已开(提示 yes,表示开启;no表示未开启。)
firewall-cmd --query-port=666/tcp
firewall-cmd --zone=public --query-port=21/tcp
(当提示firewalld is not running代表防火墙未开启)
添加指定需要开放的端口:
firewall-cmd --add-port=123/tcp --permanent
开放完了重载
重载入添加的端口:---重新加载防火墙
firewall-cmd --reload
防火墙
查看防火墙
systemctl status firewalld
未开启:Active: inactive (dead)
开启防火墙
systemctl start firewalld
没有任何提示表示开启
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
如果第一步操作能远程连接上下面的就不用看了
但是这里注意Mysql比较特殊
mysql使用docker启动后还需要设置远程连接密码
1.进入容器(进入容器出现mysql> 输入的命令记得打;表示结束)
docker exec -it mysql /bin/bash
2.在容器中修改mysql配置
mysql -r -p
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '28083528';
exit
exit
2.查看ip转发问题
查看ip是否装发
sysctl net.ipv4.ip_forward
显示net.ipv4.ip_forward=0则表示未打开,1代表打开无需操作
如果是0
at /proc/sys/net/ipv4/ip_forward0
如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开,
要想打开IP转发功能,可以直接修改上述文件:echo 1 > /proc/sys/net/ipv4/ip_forward
把文件的内容由0修改为1。禁用IP转发则把1改为0。
上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改
/etc/sysctl.conf文件,修改下面一行的值:
net.ipv4.ip_forward = 1
修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效:
sysctl -p /etc/sysctl.conf
进行了上面的配置后,IP转发功能就永久开启了。
3.如果ip转发没问题还是无法远程连接/访问这时就要ping一下,虚拟机ping不通的话修改网络连接状态
换成NAT模式
4.如果还是不行,那么重点来了,配置docker的ip
这个前面要查看ip,使用ipconfig或者ip addr
找到docker0这个网卡,将这个ip替换下面的sudo ip addr add 172.16.10.1/24 dev docker0即可
docker容器启动后外部无法连接
1第一种
sudo service docker stop
sudo ip link set dev docker0 down %关闭docker虚拟网卡
sudo brctl delbr docker0
sudo iptables -t nat -F POSTROUTING
sudo brctl addbr docker0
sudo ip addr add 172.16.10.1/24 dev docker0
sudo ip link set dev docker0 up %开启docker虚拟网卡
systemctl restart docker
brctl命令需要安装: yum install -y bridge-utils
2.第二种
systemctl stop docker
ifconfig docker0 down
brctl delbr docker0
systemctl start docker
是不是域名解析的地址有问题,没有正确指向图片服务器
你可以查看前端源代码,应该是一些静态css、img等资源路径是404造成的
你是用的“170.106.151.69:8083”进行建站初始化的,之后你需要使用https+域名,请参考下这个修改下即可,或者删除WP重新使用https://kaberryfls.com/
进行建站初始化
docker域名不通的原因和解决
可以参考这个例子
https://www.php.cn/faq/511241.html
https://blog.csdn.net/JineD/article/details/127728790
IP打开正常,域名打开出现排版错乱,初步估计
是因为访问域名跳转异常或静态资源加载失败。
解决办法:
服务器配置hosts文件,IP指向域名试试.
自己访问一下404的资源看看有没有,没有的话就是服务器问题,有的话就是后端格式问题呢
跨域
这个问题可能是由于DNS解析设置不正确导致的。
首先,确认你的域名已经正确地解析到了你的Docker容器IP地址。你可以检查你的DNS设置,确保域名已经正确地解析到了正确的IP地址。
其次,确认你的Docker容器已经开启了端口映射,将容器内部的端口映射到主机上的端口。你可以检查你的Docker配置,确保端口已经正确地映射。
F12在网络那里,看看请求资源的路径对不对
域名绑定后出现无法显示此网址的原因:1.DNS错误;2.域名未进行实名认证;3.网站未备案;
域名绑定后出现无法显示此网址的原因有以下几点
1.DNS错误
可能是DNS错误,导致无法显示此网址,可以将域名解析的DNS设置为空间商指定的DNS即可;
2.域名未进行实名认证
域名是需要进行实名认证的,根据国家工信部规定,未进行实名认证的域名,该域名将会被禁止解析,将相关资料上传到域名代理商,进行实名认证即可。
3.网站未备案
根据国家工信部规定,凡使用国内空间的网站,必须进行备案才可以访问,对网站进行备案即可。