Tag:HTTP

Tag (HTTP)'s result:

redhat下配置http服务器

0x00 概述 以前做的一个实验,完成了在redhat下配置http服务器,并实现改变端口,域名代替ip等操作,有需要的可以参考一下。   0x01 改变端口号 [root@mail Desktop]# service httpd status httpd (pid  4952) is running… 用ip直接访问网站,默认80端口 改变端口号,改成8888 80已经无法访问 成功访问 具体配置 [root@mail Desktop]# yum -y install policycoreutils-python yum whatprovides /usr/sbin/semanage or yum provides /usr/sbin/semanage [root@mail Desktop]# semanage port -l|grep http http_cache_port_t              tcp      3128, 8080, 8118, 8123, 10001-10010 http_cache_port_t              udp      3130 http_port_t                    tcp      80, 443, 488, 8008, 8009, 8443 pegasus_http_port_t            tcp      5988 pegasus_https_port_t           tcp      5989 没8888 [root@mail Desktop]# semanage port -a -t http_port_t -p tcp 8888 [root@mail Desktop]# semanage port -l|grep http http_cache_port_t              tcp      3128, 8080, 8118, 8123, 10001-10010 http_cache_port_t              udp      3130 http_port_t                    tcp      8888, 80, 443, 488, 8008, 8009, 8443 pegasus_http_port_t            tcp      5988 pegasus_https_port_t           tcp      5989 搞定!也可以使用关闭selinux来改变端口(不太安全)   0x02 域名代替ip 域名:www.gdhy.col 具体操作: 向正向解析文件加入一条A记录 $TTL 86400 gdhy.col.   IN     SOA       dns.gdhy.col.                      root.gdhy.col ( 20100820                    ;serial 1H                          ;refresh 15M                         ;retry 1W                          ;expire 1D)                         ;minimun   gdhy.col.   IN     NS                 dns.gdhy.col. dns                IN      A          10.0.165.253 @                  IN      MX         10          mail.gdhy.col. mail               IN      A          10.0.165.253 www                IN      A          10.0.165.253   修改httpd.conf的servername的值 # ServerName www.gdhy.col:8888 搞定!   0x03 配置虚拟主机 1. 基于ip 只有1个内网ip,算了 大概配置就这样: <VirtualHost 10.0.165.252:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/vt1 DirectoryIndex index.html ServerName www.vvtt1.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>   <VirtualHost 10.0.165.251:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/vt2 DirectoryIndex index.html ServerName www.vvtt2.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost> 2. 基于域名 通过www.vvtt1.com和www.vvtt2.com可以分别访问不同目录和主页 具体步骤: 配置正向解析文件,在named.comf加入这两个域zone $TTL 86400 vvtt2.com.   IN     SOA       dns.vvtt2.com.                      root.vvtt2.com ( 20100820                    ;serial 1H                          ;refresh 15M                         ;retry 1W                          ;expire 1D)                         ;minimun   vvtt2.com.   IN     NS                 dns.vvtt2.com. dns                IN      A          10.0.165.253 www                IN      A          10.0.165.253   $TTL 86400 vvtt1.com.   IN     SOA       dns.vvtt1.com.                      root.vvtt1.com ( 20100820                    ;serial 1H                          ;refresh 15M                         ;retry 1W                          ;expire 1D)                         ;minimun   vvtt1.com.   IN     NS                 dns.vvtt1.com. dns                IN      A          10.0.165.253 www                IN      A          10.0.165.253   // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. //   options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory  “/var/named”; dump-file  “/var/named/data/cache_dump.db”; statistics-file “/var/named/data/named_stats.txt”; memstatistics-file “/var/named/data/named_mem_stats.txt”; allow-query     { 0.0.0.0/0; }; recursion yes;   dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto;   /* Path to ISC DLV key */ bindkeys-file “/etc/named.iscdlv.key”;   managed-keys-directory “/var/named/dynamic”; };   logging { channel default_debug { file “data/named.run”; severity dynamic; }; };   zone “gdhy.col” { type master; file “gdhy.col”; };   zone “165.0.10.in-addr.arpa” { type master; file “165.0.10”; };   zone “vvtt1.com” { type master; file “vvtt1.com”; };   zone “vvtt2.com” { type master; file “vvtt2.com”; };   include “/etc/named.rfc1912.zones”; include “/etc/named.root.key”;   httpd.conf: NameVirtualHost 10.0.165.253……

HTTP 状态码大全

0x00 概述 1xx:收到请求 2xx:请求成功 3xx:重定向 4xx:客户端错误 5xx:服务端错误   0x01 状态码解释 100:继续 101:切换协议 ############################## 200:请求成功 201:已创建 202:已接受 203:非授权信息 204:无内容 205:重置内容 206:部分内容 ############################### 300:多种选择 301:永久移动 302:临时移动 304:未修改 305:用代理 307:临时移动 ################################### 400:语法错误 401:身份认证 403:拒绝 404:Not Found 405:方法禁止 406:无法完成 407:代理认证 408:超时 409:put请求冲突 410:已不存在 411:要content-length 412:先决错误 413:实体过大 414:url过长 415:无法处理的媒体格式 416:范围无效 417:无法满足expect ################################ 500:内部错误 501:无法完成 502:bad gateway 503:服务不可用 504:gateway time-out 505:不支持的http版本 更详细的解释可看参考资料。   0x02 参考资料 www.runoob.com/http/http-status-codes.html tool.oschina.net/commons?type=5 tools.jb51.net/table/http_status_code blog.csdn.net/woshihaiyong168/article/details/52438839                

简谈X-Forwarded-For的一些事

X-Forwarded-For(XFF)是HTTP请求头字段之一。 格式:X-Forwarded-For: client1, proxy1, proxy2, proxy3 只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。 请求从client1发出,XFF为空,再到从proxy1发出,请求里XFF就添加了client1,再从proxy2发出,请求里XFF就添加了proxy1,再到proxy3,再从proxy3发出,请求里XFF就添加了proxy2,注意这里porxy3不会添加到XFF,因为proxy3就是在tcp包的源IP。 一些程序如C#和php获取客户端IP会这样写: C#:string client1 = Request.ServerVariables[“HTTP_X_FORWARDED_FOR”]; PHP: getenv(‘HTTP_X_FORWARDED_FOR’) 看起来好像很正常,但是X-Forwarded-For是可以被伪造的(如刷票之类),只需在请求头中添加即可,如 C#: request.Headers.Add(“X_FORWARDED_FOR”, “6.6.6.6”); PHP: $headers = array( ‘X-Forwarded-For:’.6.6.6.6, ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);   Python: Header = { ‘X-Forwarded-For’: ‘6.6.6.6’, }