telnet {服务器IP} 80 提示telnet: connect to address {服务器IP}: Connection refuse

zhaozhiqiang000 2016-09-27 09:06:03
我做了个php项目, 在阿里云上做了解析,域名为www.embesttech.cn,解析正常。

我在服务器下装了个虚拟机,将服务器IP映射到了内网IP 192.192.193.11,而且两者可以相互ping通;
然后关掉了防火墙和SELinux;
apache服务器也配置正确,用内网IP可以访问到网页;

用公网IP或名也能访问到 网页,但获取不了数据。 telnet已经安装(防火墙关闭)



在虚拟机里 telnet {服务器Ip} 80 提示错误:



虚拟机可以ping通百度的


这个问题翻来服务搞了很长时间,一直没搞好。实在不会,来我们的论坛问问各位前辈,希望会的指点迷津,感激不尽


...全文
7646 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhiqiang000 2016-10-07
  • 打赏
  • 举报
回复
引用 20 楼 hijack00 的回复:
[quote=引用 12 楼 zhaozhiqiang000 的回复:] [quote=引用 9 楼 hijack00 的回复:] [quote=引用 5 楼 zhaozhiqiang000 的回复:] [quote=引用 3 楼 hijack00 的回复:] connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 您请看截图,80端口已开启 2. 问题:或者telnet到默认的23端口看看是否正常? telnet已开启(这里我不知道怎么telnet到23端口) 3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据? 比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图 这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。 但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的, 也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。 而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误 谢谢您的回答,希望能继续得到您的指教![/quote] http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限? 你可以参照下面几种方式调试: 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗? [/quote] 谢谢您的回答 问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 我是这个意思 这是js的权限 而且js下的nav_index.php我也设置了777 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以 可以加您的QQ吗? 这个问题要了我的老命了 [/quote] 从上面几楼的讨论来看,你的nav_index.php文件里面include了header.php,从日志来看,问题好像也是出在这一块,include这个文件的时候出问题了。 我刚才看了file-get-contents的官方mannual:http://php.net/manual/en/function.file-get-contents.php file_get_contents这个函数的第二个参数是use_include_path,这是一个逻辑值,用于指示是否在php的include中搜索。默认是false。我猜由于你没有显式指定这个参数,所以使用的是默认的false,从而file_get_contents函数不会在php的include路径中搜索header.php文件导致文件找不到而打开出错。 你将第二个参数改为true试试看行不行。 file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1", true) [/quote] 谢谢你,我试试!
hijack00 2016-10-03
  • 打赏
  • 举报
回复
引用 12 楼 zhaozhiqiang000 的回复:
[quote=引用 9 楼 hijack00 的回复:] [quote=引用 5 楼 zhaozhiqiang000 的回复:] [quote=引用 3 楼 hijack00 的回复:] connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 您请看截图,80端口已开启 2. 问题:或者telnet到默认的23端口看看是否正常? telnet已开启(这里我不知道怎么telnet到23端口) 3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据? 比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图 这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。 但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的, 也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。 而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误 谢谢您的回答,希望能继续得到您的指教![/quote] http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限? 你可以参照下面几种方式调试: 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗? [/quote] 谢谢您的回答 问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 我是这个意思 这是js的权限 而且js下的nav_index.php我也设置了777 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以 可以加您的QQ吗? 这个问题要了我的老命了 [/quote] 从上面几楼的讨论来看,你的nav_index.php文件里面include了header.php,从日志来看,问题好像也是出在这一块,include这个文件的时候出问题了。 我刚才看了file-get-contents的官方mannual:http://php.net/manual/en/function.file-get-contents.php file_get_contents这个函数的第二个参数是use_include_path,这是一个逻辑值,用于指示是否在php的include中搜索。默认是false。我猜由于你没有显式指定这个参数,所以使用的是默认的false,从而file_get_contents函数不会在php的include路径中搜索header.php文件导致文件找不到而打开出错。 你将第二个参数改为true试试看行不行。 file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1", true)
apple_v1 2016-09-30
  • 打赏
  • 举报
回复
引用 18 楼 zhaozhiqiang000 的回复:
[quote=引用 16 楼 apple_v1 的回复:] [quote=引用 12 楼 zhaozhiqiang000 的回复:] [quote=引用 9 楼 hijack00 的回复:] [quote=引用 5 楼 zhaozhiqiang000 的回复:] [quote=引用 3 楼 hijack00 的回复:] connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 您请看截图,80端口已开启 2. 问题:或者telnet到默认的23端口看看是否正常? telnet已开启(这里我不知道怎么telnet到23端口) 3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据? 比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图 这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。 但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的, 也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。 而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误 谢谢您的回答,希望能继续得到您的指教![/quote] http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限? 你可以参照下面几种方式调试: 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗? [/quote] 谢谢您的回答 问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 我是这个意思 这是js的权限 而且js下的nav_index.php我也设置了777 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以 可以加您的QQ吗? 这个问题要了我的老命了 [/quote] 官方文档说如果url中含有特殊字符,是要用urlencode()编码的 http://php.net/manual/zh/function.file-get-contents.php[/quote] 我看log文件里还是报这个错误 PHP Warning: file_get_contents(http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1): failed to open stream: Connection refused in /home/embestcn/public_html/theme_new/common/header.php on line 48[/quote] url传参有什么用?把参数去掉试试
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 16 楼 apple_v1 的回复:
[quote=引用 12 楼 zhaozhiqiang000 的回复:]
[quote=引用 9 楼 hijack00 的回复:]
[quote=引用 5 楼 zhaozhiqiang000 的回复:]
[quote=引用 3 楼 hijack00 的回复:]
connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素

我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?


还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?


1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?

您请看截图,80端口已开启


2. 问题:或者telnet到默认的23端口看看是否正常?
telnet已开启(这里我不知道怎么telnet到23端口)


3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?

比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图

这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。
但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的,
也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。
而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误

谢谢您的回答,希望能继续得到您的指教![/quote]

http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗?
有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限?

你可以参照下面几种方式调试:
1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题
2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常

另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗?

[/quote]

谢谢您的回答
问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗?
我是这个意思
这是js的权限

而且js下的nav_index.php我也设置了777

1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题
我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊

2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常
在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以

可以加您的QQ吗? 这个问题要了我的老命了

[/quote]
官方文档说如果url中含有特殊字符,是要用urlencode()编码的
http://php.net/manual/zh/function.file-get-contents.php[/quote]


我看log文件里还是报这个错误
PHP Warning: file_get_contents(http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1): failed to open stream: Connection refused in /home/embestcn/public_html/theme_new/common/header.php on line 48
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 14 楼 apple_v1 的回复:
[quote=引用 13 楼 zhaozhiqiang000 的回复:]
[quote=引用 11 楼 apple_v1 的回复:]
[quote=引用 10 楼 zhaozhiqiang000 的回复:]
[quote=引用 8 楼 apple_v1 的回复:]
80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'

再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。
也可以
man telnet
察看帮助




telnet 23的时候出现了 Invalid argument[/quote]
telnet host [port]
如:
telnet 127.0.0.1 23

ip是你的服务器ip,因为23是默认端口号,所以写不写都可以[/quote]



它要我登录 改用哪个账号? 一直登录不成功[/quote]
就是你登陆目的主机的用户名跟密码[/quote]

登录进来了


您看下面该怎么办
apple_v1 2016-09-30
  • 打赏
  • 举报
回复
引用 12 楼 zhaozhiqiang000 的回复:
[quote=引用 9 楼 hijack00 的回复:] [quote=引用 5 楼 zhaozhiqiang000 的回复:] [quote=引用 3 楼 hijack00 的回复:] connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 您请看截图,80端口已开启 2. 问题:或者telnet到默认的23端口看看是否正常? telnet已开启(这里我不知道怎么telnet到23端口) 3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据? 比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图 这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。 但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的, 也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。 而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误 谢谢您的回答,希望能继续得到您的指教![/quote] http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限? 你可以参照下面几种方式调试: 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗? [/quote] 谢谢您的回答 问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 我是这个意思 这是js的权限 而且js下的nav_index.php我也设置了777 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以 可以加您的QQ吗? 这个问题要了我的老命了 [/quote] 官方文档说如果url中含有特殊字符,是要用urlencode()编码的 http://php.net/manual/zh/function.file-get-contents.php
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 14 楼 apple_v1 的回复:
[quote=引用 13 楼 zhaozhiqiang000 的回复:] [quote=引用 11 楼 apple_v1 的回复:] [quote=引用 10 楼 zhaozhiqiang000 的回复:] [quote=引用 8 楼 apple_v1 的回复:] 80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'
再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。 也可以
man telnet
察看帮助
telnet 23的时候出现了 Invalid argument[/quote] telnet host [port] 如:
telnet 127.0.0.1 23
ip是你的服务器ip,因为23是默认端口号,所以写不写都可以[/quote] 它要我登录 改用哪个账号? 一直登录不成功[/quote] 就是你登陆目的主机的用户名跟密码[/quote] 可以加下QQ吗 1195775472
apple_v1 2016-09-30
  • 打赏
  • 举报
回复
引用 13 楼 zhaozhiqiang000 的回复:
[quote=引用 11 楼 apple_v1 的回复:] [quote=引用 10 楼 zhaozhiqiang000 的回复:] [quote=引用 8 楼 apple_v1 的回复:] 80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'
再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。 也可以
man telnet
察看帮助
telnet 23的时候出现了 Invalid argument[/quote] telnet host [port] 如:
telnet 127.0.0.1 23
ip是你的服务器ip,因为23是默认端口号,所以写不写都可以[/quote] 它要我登录 改用哪个账号? 一直登录不成功[/quote] 就是你登陆目的主机的用户名跟密码
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 11 楼 apple_v1 的回复:
[quote=引用 10 楼 zhaozhiqiang000 的回复:]
[quote=引用 8 楼 apple_v1 的回复:]
80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'

再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。
也可以
man telnet
察看帮助




telnet 23的时候出现了 Invalid argument[/quote]
telnet host [port]
如:
telnet 127.0.0.1 23

ip是你的服务器ip,因为23是默认端口号,所以写不写都可以[/quote]



它要我登录 改用哪个账号? 一直登录不成功
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 9 楼 hijack00 的回复:
[quote=引用 5 楼 zhaozhiqiang000 的回复:]
[quote=引用 3 楼 hijack00 的回复:]
connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素

我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?


还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?


1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?

您请看截图,80端口已开启


2. 问题:或者telnet到默认的23端口看看是否正常?
telnet已开启(这里我不知道怎么telnet到23端口)


3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?

比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图

这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。
但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的,
也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。
而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误

谢谢您的回答,希望能继续得到您的指教![/quote]

http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗?
有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限?

你可以参照下面几种方式调试:
1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题
2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常

另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗?

[/quote]

谢谢您的回答
问题:http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗?
我是这个意思
这是js的权限

而且js下的nav_index.php我也设置了777

1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题
我在浏览器中直接 输入http://www.embesttech.cn/js/nav_index.php,是可以获取数据的啊

2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常
在php文件中可以获取 $_SERVER['HTTP_HOST']的值,就是在file_get_contents的时候这个值好像就不起作用了。但file_get_contents("https://www.baidu.com")可以

可以加您的QQ吗? 这个问题要了我的老命了

apple_v1 2016-09-30
  • 打赏
  • 举报
回复
引用 10 楼 zhaozhiqiang000 的回复:
[quote=引用 8 楼 apple_v1 的回复:] 80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'
再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。 也可以
man telnet
察看帮助
telnet 23的时候出现了 Invalid argument[/quote] telnet host [port] 如:
telnet 127.0.0.1 23
ip是你的服务器ip,因为23是默认端口号,所以写不写都可以
zhaozhiqiang000 2016-09-30
  • 打赏
  • 举报
回复
引用 8 楼 apple_v1 的回复:
80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'

再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。
也可以
man telnet
察看帮助




telnet 23的时候出现了 Invalid argument
hijack00 2016-09-30
  • 打赏
  • 举报
回复
引用 5 楼 zhaozhiqiang000 的回复:
[quote=引用 3 楼 hijack00 的回复:] connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 您请看截图,80端口已开启 2. 问题:或者telnet到默认的23端口看看是否正常? telnet已开启(这里我不知道怎么telnet到23端口) 3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据? 比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图 这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。 但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的, 也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。 而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误 谢谢您的回答,希望能继续得到您的指教![/quote] http://www.embesttech.cn的首页可以正常获取,但是http://www.embesttech.cn/js/nav_index.php无法正常获取,是这个意思吗? 有可能是文件权限问题,一般文件以及文件夹的属主是apache:apache,js目录是否有rx权限? 你可以参照下面几种方式调试: 1. 打开浏览器的调试模式或者开发者模式,这样便于发现问题 2. 在php中打印$_SERVER['HTTP_HOST']的值,看看是否正常 另外,我猜你telnet到服务器的80端口是为了调试网站?我以前调试嵌入式web服务器时这么干过。但是感觉这应该是一种很古老的方法了,现在还有人用吗?
apple_v1 2016-09-30
  • 打赏
  • 举报
回复
80端口是apache的监听端口,肯定是telnet不上去的,telnet默认是23端口,建议你看一下services文件,里面指定了telnet的端口号

cat /etc/services | egrep '^\btelnet\b'
再telnet刚查询到的端口号,如果没有什么权限问题的话是可以成功的。 也可以
man telnet
察看帮助
zhaozhiqiang000 2016-09-29
  • 打赏
  • 举报
回复
引用 4 楼 lyl2725 的回复:
你的apache是装在哪,虚拟机还是?看telnet的提示,应该服务器还是有限制,检查一下host.allow与deny,或者看下,telnet本身服务端的配置是否有限制
apache服务器装在虚拟机上。 这是我的httpd.conf配置文件,只复制了部分内容,耽误您的时间,请您帮忙看下是否有错误的地方,感谢。

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

Alias /public_html/ "/home/*/public_html/" 

<Directory /home/*/public_html>

    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all

</Directory>


<VirtualHost *:80>
    ServerAdmin zhiqiang.zhao@embest-tech.com
    DocumentRoot /home/embestcn/public_html
    ServerName www.embesttech.cn
    ErrorLog logs/zh-error_log
    CustomLog logs/zh-access_log common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin zhiqiang.zhao@embest-tech.com
    DocumentRoot /home/embestco/public_html
    ServerName www.embesttech.com
    ErrorLog logs/en-error_log
    CustomLog logs/en-access_log common
</VirtualHost>
<VirtualHost 192.192.193.11:8082>
    ServerAdmin zhiqiang.zhao@embest-tech.com
    DocumentRoot /var/www/html
    ServerName  192.192.193.11:8082
    ErrorLog logs/en-error_log
    CustomLog logs/en-access_log common
</VirtualHost>
zhaozhiqiang000 2016-09-29
  • 打赏
  • 举报
回复
引用 3 楼 hijack00 的回复:
connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素

我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?
或者telnet到默认的23端口看看是否正常?

还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?


telnet到默认的23端口看看是否正常?
这里是截图,但我看的不是很明白

zhaozhiqiang000 2016-09-29
  • 打赏
  • 举报
回复
引用 3 楼 hijack00 的回复:
connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素

我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?


还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?


1. 问题:我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启?

您请看截图,80端口已开启


2. 问题:或者telnet到默认的23端口看看是否正常?
telnet已开启(这里我不知道怎么telnet到23端口)


3. 问题:还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?

比如我可以用http://www.embesttech.cn或者服务器IP 直接进入网站首页,但是呢,我需要用file_get_contents("http://www.embesttech.cn/js/nav_index.php?lang=zn&index=1") 来获取顶级菜单(菜单我单独写到了一个nav_index.php文件里了),如截图

这时就出现了问题, file_get_contents怎么也获取不了顶级菜单的数据,而且用curl也不行。
但是将file_get_contents里的内容换成file_get_contents('https://www.baidu.com")是可以正常获取的,
也就是说file_get_contets这个函数是可以用的,这一点弄的我非常郁闷。
而且file_get_contents("http:/{服务器IP}/js/nav_index.php?lang=zn&index=1"),报一样的错误

谢谢您的回答,希望能继续得到您的指教!
lyl2725 2016-09-29
  • 打赏
  • 举报
回复
你的apache是装在哪,虚拟机还是?看telnet的提示,应该服务器还是有限制,检查一下host.allow与deny,或者看下,telnet本身服务端的配置是否有限制
hijack00 2016-09-29
  • 打赏
  • 举报
回复
connection refused的说明无法建立TCP连接,可能原因是对方端口没有开,也有可能是被防火墙过滤了。你提到防火墙已经关闭,所以不太可能是防火墙的因素 我注意到你telnet到服务器的80端口,你先检查一下服务器80端口是否开启? 或者telnet到默认的23端口看看是否正常? 还有,你说的“用公网IP或名也能访问到 网页,但获取不了数据”我也还没弄明白是什么意思?你说的获取不了数据是指什么数据?
zhaozhiqiang000 2016-09-28
  • 打赏
  • 举报
回复
引用 1 楼 xuweiwei1860 的回复:
telnet 服务有没有开呢
兄弟,第一个截图,就是telnet
加载更多回复(1)

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧