Articles of http

Chrome拒绝与netcatnetworking服务器的连接

我有一个非常简单的netcatnetworking服务器,用于显示某些机器的/etc/motd文件,在Firefox中可以正常工作,但在Chrome中间歇性地失败。 我怀疑这是一个HTTP头/caching问题,但我不知道我需要做什么,使Chrome的行为。 我的脚本: #!/bin/bash while true do { echo -e "HTTP/1.1 200 OK\r\nContent-Length: $(cat -s /etc/motd | wc -c)\r\nContent-Type: text/plain\r\n\r\n" cat -s /etc/motd; } | nc -l 2020 done 其中服务: HTTP/1.1 200 OK Content-Length: 252 Content-Type: text/plain …/etc/motd file contents…. 火狐似乎处理这个罚款,有时候,有时,但有时它返回: 此网页无法使用 Google Chrome与machine.example.com的连接尝试遭到拒绝。 该网站可能已closures,或者您的networking可能没有正确configuration。 我还没有看到任何特定的模式导致连接失败,但我目前的理论是有一些额外的头Chrome期望看到,或者连接是突然closures,Chrome假设意味着机器已closures,并没有实际上重新尝试一下。

我如何只通过apache2在本地主机上?

可能重复: TOR:在clearweb中隐藏我的网站 我试图只在本地服务器上,但每次我find一种方法来做到这一点,它总是说编辑http.d我找不到http.d. 有人能告诉我一个很好的方法来设置Apache只在本地主机上服务? 请在默认的Ubuntu安装中包含path。 非常感谢你。

为什么nginx改变重写规则的HTTP方法?

每当我在mydomain.com上收到请求时,都会使用以下重写规则将其redirect到www子域: server_name mydomain.com; rewrite ^(.*)$ $scheme://www.mydomain.com$1 permanent; 但是,如果收到POST请求,它将被redirect为GET。 为什么? 什么是正确的方式来redirect呢?

NameVirtualHost关于HTTP请求伪造的安全性

如果我正确理解NameVirtualHost的概念,它将通过读取每个HTTP请求的Hostvariables并将其与匹配接口和端口的任何活动VirtualHost指令中的ServerName匹配。 如果发现一个匹配的ServerName ,则将该VirtualHost的内容提供给客户端。 主机variables可以很容易被客户伪造。 所以在以下configuration中: Listen 80 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /super/secret/files ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/webserver ServerName www.example.org </VirtualHost> 客户端可以简单地将localhost作为Host的值并访问秘密文件。 所以你不能依赖于ServerName并且必须使用Order , Allow , Deny (OAD)指令。 这些假设是正确的吗? 如果我用OAD保护VirtualHost example.org/phpmyadmin ,用户仍然得到403 Forbidden错误。 我将如何configurationApache甚至不在非本地主机连接上提供此VirtualHost? 一个单独的<NameVirtualHost localhost:80>也许?

在两个VPN之间转储HTTP数据包的内容

这是我的设置: 客户端—> VPN 1(我的电脑,客户端的子网) – > VPN 2(外部VPN) – > Internet 两个VPN都是L2TP / IPSec,第一个是带有Openswan的Ubuntu服务器。 我需要logging每个客户端的HTTP请求和响应,所以我需要能够在它们被encryption并发送到第二个VPN之前读取它们。 所以,由于第一个VPN在我的PC上,我以为我可以在这里login数据包。 但是我怎么能这样做呢? 有没有什么办法让他们在被第一个VPN解密之后,在他们被encryption后被发送到第二个?

如何更改Apache HTTP索引的格式?

比如这个指标: http://howto.unixdev.net/ 不同于这个指数: http://gcc.petsads.us/ 如何更改我的Web服务器的索引格式?

如何仅在VirualHost的一个目录中设置https

我有几个站点和应用程序的VPS,我想通过HTTPS运行MySQLpipe理工具,以避免中间人攻击的可能性,因为我经常使用MySQL的root密码。 现在,如果我专门为此目的设置了域名,那完全不是问题,因为build立SSL虚拟主机没有问题。 我的任务是仅使默认虚拟主机https-forced的一个(子)文件夹。 假设我有/var/www与vhosts文件夹和下面的一切。 如果我inputhttp:// {ip -adress-of-vps},我得到的文件作为默认主机/var/www索引。 我想在/var/www ( /var/www/phpmyadmin )下面创buildphpmyadmin dir,只有在调用http://{ip-adress-of-vps}/phpmyadmin时才能通过https访问它。 那可能吗? 怎么做? 如果不可能的话,你最好的做法是什么? 提前致谢。

在Apache上redirect(维护POST参数)

我在我的服务器上安装了Apache,我需要从httpredirect到https。 原因是我们的负载均衡解决scheme无法使用https,所以请求进入http,然后使用httpd.conf文件中的以下行将它们传输到https。 <VirtualHost 10.1.2.91:80> Redirect 302 /GladQE/link https://glad-test.com/GladQE/link.do </VirtualHost> 这适用于GET请求,但是POST请求会丢失在URL上传递的参数。 什么是最简单的方法来执行此redirect和维护POST PARAMS? 我需要从http://glad-test.com/GladQE/link.do到这里https://glad-test.com/GladQE/link.do维护POST PARAMS 谢谢 汤姆

无法让nginx用压缩的内容回复ab

ab -n 1 -H 'Accept-Encoding: gzip, deflate' http://mywebsite.com/ 这总是返回未压缩的内容(我可以看到,从它的大小,因为我用ngrep嗅探stream量)。 但是,如果我用Firefox请求内容,结果是压缩的。 Content-Encoding: gzip它说。 我已经尝试用ab指定所有Firefox指定的请求头,因为我看到它们被嗅探,但仍然得到它解压缩,并且Firefox得到压缩。 我正在运行一个我自己编译的nginx版本,但与Debian压缩backports 1.2.1版本是一样的,除了它有syslog补丁。 ApacheBench 2.3修订版655654.下面是nginx gzipconfiguration: gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_vary on; 文档types是text/html (没有在上面列出,但总是由nginx压缩;此外,我试着添加它,没有区别)。 它是dynamic的,从uwsgi后端收到。 来自ab嗅探请求标头: GET […] HTTP/1.0. Accept-Encoding: gzip, deflate. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8. User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; […]

你如何改变Apache为默认的http 1.0

这是在httpd.conf中更改? 如果是的话,在哪里? 我有连接保持活着的问题,我知道http 1.0使默认情况下closures。