linux下开机启动443程序无法访问解决方法

前言:最近,有一个项目需要用到开机自动启动程序,所以就研究了一下,环境为redhat8,程序是node,使用forever来进行node程序的持久化,程序使用的是443端口,开启的是https

linux下开机启动443程序无法访问解决方法

文章插图
1.把node和forever的快捷方式放在放在/usr/bin/(环境变量)下面,所有的命令默认是从这里面进行调用的查询下node的地址在哪里
ln -s /home/tool/node/node-v8.11.3-linux-x64/bin/node /usr/bin/node//这里的路径就是安装node的路径ln -s /home/tool/node/node-v8.11.3-linux-x64/bin/node /usr/bin/node
2.添加开机自启动vi /etc/rc.d/rc.local添加一下代码
forever start -s /home/demo/app.js//这里的程序所在的路径
linux下开机启动443程序无法访问解决方法

文章插图
3.设置一下权限即可 chmod +x /etc/rc.d/rc.local4.重启查看forever list看程序有没运行我们可以看到已经启动了程序,我们访问下程序
linux下开机启动443程序无法访问解决方法

文章插图
我们发现程序并不能访问
网站报错内容为:
此网站无法提供安全连接
协议不受支持
客户单端和服务器不支持一般SSL协议版本或加密套件
linux下开机启动443程序无法访问解决方法

文章插图
5.排查过程:1.防火墙1首先关闭防火墙进行排查是否是原因所在 , 结果发现并不是原因:
linux下开机启动443程序无法访问解决方法

文章插图
2.更换端口:我们把程序的启动端口修改了,改为了8081然后重启服务器进行测试,结果发现重启服务器可以重新启动
linux下开机启动443程序无法访问解决方法

文章插图
3.ssl证书问题在网上找了一圈就没有相关的解决方案,基本都是ssl证书的问题,我之前也觉得也是ssl证书过期的问题,但是如果是ssl证书过期我用上面的http也可以实现访问,所以问题不是出在了这里,随后我又找了开机启动程序相关的问题,结果发现都不是问题所在 , 问题就此耽搁住了
4.使用443端口,用命令启动程序我们可以看到,点击下面的地址是可以直接进入程序的,这一点我已经验证过了
linux下开机启动443程序无法访问解决方法

文章插图
5.转机突然,我想到既然用命令行的方式可以启动程序,那我直接把命令行的过程复现一下不就可以了吗,首先,我复现下用命令行启动的过程
1.cd /程序的目录2.启动程序我们再来看看开机启动程序的脚本
forever start -s /home/demo/app.js//这里的程序所在的路径两者对比,我们发现 , 命令行启动是cd到具体的目录下然后在执行启动命令,而开机脚本写的是后面带上程序的绝对路径 , 我想应该就是这个绝对路径的区别,然后我修改了开机脚本,具体如下:
linux下开机启动443程序无法访问解决方法

文章插图
我们重启服务器
我们可以看到已经顺利进来了,就此问题解决
linux下开机启动443程序无法访问解决方法

文章插图
尾巴:虽然这个问题解决起来非常简单,但是排查问题的过程确实非常漫长而且头疼,找打不到相关对应的资料 , 只能自己摸索尝试
【linux下开机启动443程序无法访问解决方法】

    推荐阅读