网页绑定域名后显示不正常

请教一下这是什么问题?
我用docker+WordPress建了一个网站,然后通过宝塔把域名绑定了
但通过域名进入网页是没有图片的,只有文字,然后左上角还有个“跳至内容什么的”,点击后就进到用ip地址打开的网页了,这里显示的就都正常了。

img

img

浏览器f12看下network,请求中,是不是你的js css img或者其他文件的路径不对(有返回404的现象)

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/1066177
  • 这篇博客也不错, 你可以看下一个重建Docker容器后保持容器的IP地址不变的方案
  • 除此之外, 这篇博客: docker部署的容器远程无法连接中的 这样额问题是由于docker的ip问题,这种情况大多实在采用国外服务器(虚拟主机),或者自己测试的虚拟机。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 不要问我为什么把问题描述的这么清楚,以为上面的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/
进行建站初始化

img

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.网站未备案
根据国家工信部规定,凡使用国内空间的网站,必须进行备案才可以访问,对网站进行备案即可。