首页 新闻 会员 周边

centos问题定位.

0
[待解决问题]

请教一个问题:,cento上部署了一个前后端项目,外网前端可以访问,但是无法登录,这个怎么定位原因呢?

ps:我在服务器上直接访问登录都没问题.

问题补充:

暂定解决方法,:由于重启容器问题可以及时解决,所以,做了个定时任务每天重启一下docker,但是造成原因一直无法找到。

//现在重启docker都无法解决了,必须重启整个服务器才行,无语啦

找到error了:

少年Dev的主页 少年Dev | 初学一级 | 园豆:173
提问于:2023-02-16 15:13

如果是变幻了登陆接口的ip地址,这就需要看代码了,肯定是代码的问题,是不是这套代码有两个使用环境,环境切换出了问题?
以前我也遇到过在外网访问结果接口地址变成了内网,发现原来是配置文件配置跳转地址时走成dev了

人间春风意 1年前

@人间春风意: 嗯嗯,是有两套环境,win环境与linux环境,但是docker里面的配置环境问我找不到,

少年Dev 1年前

使用了暂时解决方案,现在排除问题发生原因,重启docker容器问题解决,那应该是代码层面的问题,排除了网络映射与centos系统问题.

少年Dev 1年前

@人间春风意: 同一个环境,外网只是做了端口映射

少年Dev 1年前

@少年Dev: 这个问题还没有解吗?还是跟之前错误显示效果一样?

人间春风意 1年前

@人间春风意: 对的,

少年Dev 1年前

@人间春风意: 有什么好的办法么?

少年Dev 1年前

@少年Dev: 分别在内外网 postman接口效果一样吗?

人间春风意 1年前

@人间春风意: 不一样,外网的请求参数就没过去,应该是跨域问题.

少年Dev 1年前
< >
分享
所有回答(4)
0

如果没有配置NGINX的话,检查防火墙是不是不允许通过;
可以把防火墙关了,试试

哇~怪兽 | 园豆:622 (小虾三级) | 2023-02-16 15:44


已经关闭很久了.

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 15:48

这是服务的问题还是网络的问题呢?,本地可以登录,应该不是服务的问题哈??

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 15:50
0

查看相关错误日志吧,nginx转发日志、网关转发日志
超时,查这两个地方差不多了

快乐的凡人721 | 园豆:3920 (老鸟四级) | 2023-02-16 15:58

怎么查,这位老师可以教我一下么

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 16:03

@少年Dev:
登录nginx、网关的安装的服务器,找到日志所在目录,,接着就查看就好了
grep命令用起来

支持(0) 反对(0) 快乐的凡人721 | 园豆:3920 (老鸟四级) | 2023-02-16 16:48

@快乐的凡人721: 这套服务是docker打包部署的,向Nginx,redis都在一个容器里面

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 16:51

@少年Dev:
容器里面的 日志 没有弄到 宿主机吗?
没有的话,登录 容器docker 去检查咯。

支持(0) 反对(0) 快乐的凡人721 | 园豆:3920 (老鸟四级) | 2023-02-16 17:29

@快乐的凡人721: [root@localhost /]# docker logs -f -t --since="2023-02-16" 296ad76cd003
2023-02-16T01:09:45.028197610Z /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
2023-02-16T01:09:45.028328036Z /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
2023-02-16T01:09:45.268663733Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
2023-02-16T01:09:45.595096344Z 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled
2023-02-16T01:09:45.595560102Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
2023-02-16T01:09:45.779561528Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
2023-02-16T01:09:45.830575376Z /docker-entrypoint.sh: Configuration complete; ready for start up
2023-02-16T09:12:45.420066033Z /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
2023-02-16T09:12:45.420115353Z /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
2023-02-16T09:12:45.679583203Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
2023-02-16T09:12:46.107677441Z 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled
2023-02-16T09:12:46.108061422Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
2023-02-16T09:12:46.249011149Z /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
2023-02-16T09:12:46.272411921Z /docker-entrypoint.sh: Configuration complete; ready for start up

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 19:57

@快乐的凡人721: 看着没异常哦

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-16 19:58
0

后端接口不通。

(1) 你可以使用telnet工具

telnet IP port
如:telnet 192.168.1.10 80 端口,如果端口没有开启监听则会显示连接失败。

若端口有开启监听,telnet端口是通的会显示一个白色的光标并闪烁,如下图:

(2) 也可以使用PostMan模拟后端接口请求

如果确定了nginx不通。

firewall 默认关闭的, 您先把它关了。如果业务允许, 执行下iptables 放行 [你的端口] 的命令。
内容如下

iptables -I INPUT -p tcp --dport [你的端口] -j ACCEPT

如果执行后还是无法访问的话,执行下 telnet 127.0.0.1 [你的端口]

另外,nginx查看日志,可以参考

智客工坊 | 园豆:1855 (小虾三级) | 2023-02-16 22:43

telnet测试通过

telnet 127.0.0.1 [你的端口] --这项是在服务器上测试还是在我自己电脑测试呢

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 10:27

另外nginx是集成在docker容器里面的,如何获取日志内容呀

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 10:28

而且我重启服务器后问题异常自动消失,

会触发登录接口,异常的情况就没有这条日志.;感觉像是请求被过滤了一样.

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 10:45

@少年Dev:

docker logs --since 30m 容器Id

如果docker 没有错误日志。

端口访问问题。阿里云服务器安全组开放指定端口无法访问问题记录

这样操作了还是不行,就把docker重启一下。
重启docker:systemctl restart docker

然后把你的容器重启一下,再试。

更多问题,可以上我的小站52interview看看,多多交流。

支持(0) 反对(0) 智客工坊 | 园豆:1855 (小虾三级) | 2023-02-19 10:08

@智客工坊: 只能看到这个:

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-19 11:40

@智客工坊: 重启docker容器,服务恢复,但是只能维持四个小时。

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-19 11:43
0

后端接口连接超时,一般原因都是因为防火墙,服务器ok是因为在本地是没有防火墙的限制的

人间春风意 | 园豆:2335 (老鸟四级) | 2023-02-17 10:01

防火墙这部分考虑了,我reboot了一下centos服务器,上午可以外网登录,到了下午就又不行了,现在就是不定,二且每次都要重启服务器问题才能得到解决.

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 10:31

@少年Dev: 定时job循环在外网,telnet 域名 端口,判断是否端口防火墙被关掉了,比如每10min测试一次。
有可能会有什么防护软件之类的自动把防护墙关掉

支持(0) 反对(0) 人间春风意 | 园豆:2335 (老鸟四级) | 2023-02-17 11:17

@人间春风意: 这个怎么做呢, job登录接口吗?

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 14:25

确实有一套防火墙软件,也是第三方部署的,之前咨询过了,说端口映射都正常.

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 14:33

@少年Dev: 直接在外网找个电脑,放个定时job的小程序,比如java程序,exe,php也行,简单跑一下测测就行

支持(0) 反对(0) 人间春风意 | 园豆:2335 (老鸟四级) | 2023-02-17 15:06

@人间春风意: 这个不会写哦,可以copy一个我测测不,拜托拜托

支持(0) 反对(0) 少年Dev | 园豆:173 (初学一级) | 2023-02-17 15:55
支持(0) 反对(0) 人间春风意 | 园豆:2335 (老鸟四级) | 2023-02-17 16:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册