热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何调试从计算机到服务器,服务器端的连接

如何解决《如何调试从计算机到服务器,服务器端的连接》经验,为你挑选了1个好方法。

我的Centos 7服务器正在运行apache 2.4.6,并且正在使用mod_wsgi提供Django webapp。我的问题是我无法从另一台计算机的浏览器访问服务器URL。我没有从apache及其启动和运行中获得任何错误。我已经在http.conf文件中将错误日志设置为“调试”,但仍然没有错误。我知道服务器实际上通过ping连接到Internet,我知道它正在通过运行在端口:80上侦听

netstat -tunlp | grep 80

tcp        0      0 0.0.0.0:60080           0.0.0.0:*               LISTEN      3841/name-gu 
tcp6       0      0 :::80                   :::*                    LISTEN      13882/httpd  

我也暂时关闭了服务器端的所有防火墙

我的settings.py在下面有url,ip地址和localhost ALLOWED_HOSTS

我该如何调试此问题,以便检查错误?


日志:让我知道是否需要tcpdump -nn tcp port 80在服务器计算机curl -v myurl.com上运行更多信息,然后在我的计算机上运行并在服务器上获取以下结果:

13:11:52.225076 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [S], seq 3327782620, win 29200, options [mss 1460,sackOK,TS val 36451589 ecr 0,nop,wscale 7], length 0
13:11:52.225355 IP 10.0.26.20.80 > 10.0.24.67.40658: Flags [S.], seq 1689726058, ack 3327782621, win 28960, options [mss 1460,sackOK,TS val 73904848 ecr 36451589,nop,wscale 7], length 0
13:11:52.225960 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [.], ack 1, win 229, options [nop,nop,TS val 36451590 ecr 73904848], length 0
13:11:52.226198 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [P.], seq 1:101, ack 1, win 229, options [nop,nop,TS val 36451590 ecr 73904848], length 100: HTTP: GET / HTTP/1.1
13:11:52.226448 IP 10.0.26.20.80 > 10.0.24.67.40658: Flags [.], ack 101, win 227, options [nop,nop,TS val 73904849 ecr 36451590], length 0
13:11:52.231414 IP 10.0.26.20.80 > 10.0.24.67.40658: Flags [P.], seq 1:286, ack 101, win 227, options [nop,nop,TS val 73904854 ecr 36451590], length 285: HTTP: HTTP/1.1 200 OK
13:11:52.232052 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [.], ack 286, win 237, options [nop,nop,TS val 36451596 ecr 73904854], length 0
13:11:52.232814 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [F.], seq 101, ack 286, win 237, options [nop,nop,TS val 36451597 ecr 73904854], length 0
13:11:52.233003 IP 10.0.26.20.80 > 10.0.24.67.40658: Flags [F.], seq 286, ack 102, win 227, options [nop,nop,TS val 73904856 ecr 36451597], length 0
13:11:52.233414 IP 10.0.24.67.40658 > 10.0.26.20.80: Flags [.], ack 287, win 237, options [nop,nop,TS val 36451597 ecr 73904856], length 0

hynekcer.. 6

首先,我将重点验证您是否可以访问Apache服务器上的某些静态测试页,因为它仅在IPv6端口上进行侦听。(它是为你的服务器上的最可疑的细节,也许你只配置一个DNS一个IPv4的地址,或者你也没ping6上的IPv6地址。如果它是一个公共服务器,那么它应该很可能终于听的IPv4也。这是显然,没有服务在IPv4 tcp端口80上侦听,也没有代理。)如果不是问题,那么我将描述“调试”策略:

...太好了,您检查了一些有用的特定事实,但是最有效的策略是尝试将一大堆可能的问题分成两半,以“ 平分 ”大小的区域,这些区域可以独立检查它们是否起作用以及如何起作用如果该区域中的任何内容损坏,将特别显示出来。

我将在访问日志 /var/log/httpd/access_log(CentOS上的默认Apache日志)中查看Apache收到了一个请求,状态代码是什么,响应的大小为零或非零,并且Apache和浏览器之间一切正常。在开始怀疑防火墙等之前,首先通过来自同一服务器的一个请求轻松地测试服务器,例如通过命令行实用程序wget -S -O - http://mysite.example.com或进行测试,这将更加有用curl -i http://mysite.example.com。如果通过浏览器进行检查,则应使用开发人员工具“检查”(Ctrl + Shift + I),“网络”选项卡,查看问题是否仅与响应有关或仍与发送请求有关。

我最终还将验证从Python / Django进行的日志记录是否正常运行,以及您是否正在寻找正确的Python日志(例如,通过log.info("something")在末尾添加命令)models.py,不仅可以查看没有任何错误。

文本“我无法从浏览器访问服务器URL”需要更多信息,这正是它的确切含义。从字面上看,这意味着该问题与Django / Python无关,而是在Apache和浏览器之间,如果它确实无法开始连接并发送请求的标头。缺少响应需要首先考虑Django / Python。即使未配置的Apache也会显示测试页,并且可以通过ip地址进行访问,而无需使用有效的DNS:http; // numeric.ip.address。您可以验证可以在同一域上临时配置一个简单的测试静态站点。

编辑通过注释中的响应和建议以及问题中添加的格式化日志继续进行调试。逻辑过程比仅简历更重要。



1> hynekcer..:

首先,我将重点验证您是否可以访问Apache服务器上的某些静态测试页,因为它仅在IPv6端口上进行侦听。(它是为你的服务器上的最可疑的细节,也许你只配置一个DNS一个IPv4的地址,或者你也没ping6上的IPv6地址。如果它是一个公共服务器,那么它应该很可能终于听的IPv4也。这是显然,没有服务在IPv4 tcp端口80上侦听,也没有代理。)如果不是问题,那么我将描述“调试”策略:

...太好了,您检查了一些有用的特定事实,但是最有效的策略是尝试将一大堆可能的问题分成两半,以“ 平分 ”大小的区域,这些区域可以独立检查它们是否起作用以及如何起作用如果该区域中的任何内容损坏,将特别显示出来。

我将在访问日志 /var/log/httpd/access_log(CentOS上的默认Apache日志)中查看Apache收到了一个请求,状态代码是什么,响应的大小为零或非零,并且Apache和浏览器之间一切正常。在开始怀疑防火墙等之前,首先通过来自同一服务器的一个请求轻松地测试服务器,例如通过命令行实用程序wget -S -O - http://mysite.example.com或进行测试,这将更加有用curl -i http://mysite.example.com。如果通过浏览器进行检查,则应使用开发人员工具“检查”(Ctrl + Shift + I),“网络”选项卡,查看问题是否仅与响应有关或仍与发送请求有关。

我最终还将验证从Python / Django进行的日志记录是否正常运行,以及您是否正在寻找正确的Python日志(例如,通过log.info("something")在末尾添加命令)models.py,不仅可以查看没有任何错误。

文本“我无法从浏览器访问服务器URL”需要更多信息,这正是它的确切含义。从字面上看,这意味着该问题与Django / Python无关,而是在Apache和浏览器之间,如果它确实无法开始连接并发送请求的标头。缺少响应需要首先考虑Django / Python。即使未配置的Apache也会显示测试页,并且可以通过ip地址进行访问,而无需使用有效的DNS:http; // numeric.ip.address。您可以验证可以在同一域上临时配置一个简单的测试静态站点。

编辑通过注释中的响应和建议以及问题中添加的格式化日志继续进行调试。逻辑过程比仅简历更重要。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 从U ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • charles3.11.1抓https包
    结论先行:用的是安卓测试机,没加固之前的生产环境的安装包,可以抓到https请求加固之后的包【也就是要上应用市场的包】,抓不到https请求电脑上的操作:1.安装证书【电脑上安装了 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 验证识别之你讲武德了吗?
    说说那个试用版的打包软件,既然是试用版肯定要加个试用期限,但是里面的pb模型并没有放识别率最好的那个,而是放了一个识别率中等 ... [详细]
author-avatar
我恨数学忆万年丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有