分类目录归档:Web界面

Web用户前端开发,JavaScript,CSS

Nginx 后端服务获取客户真实IP的问题

Nginx作为HTTP代理转发前端时,后端服务无法获知前端访问客户的IP地址。本文用于解决无法获取客户真实IP的问题。

安装

编译Nginx时 多编译一个模块: (见下例中红色部分)

/configure --user=daemon --group=daemon --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-md5=/usr/lib --with-sha1=/usr/lib --with-http_gzip_static_module --with-http_realip_module

HTTP REALIP MODULE

这个模块允许从请求Headers里更改客户端的IP地址值(例如 实时的转发)。

它是有用的,如果nginx后面有多层负载均衡/代理,nginx转发请求时将会添加添加客户端的IP头。

http://wiki.nginx.org/NginxChsHttpRealIpModule

Nginx代理功能配置项增加 (红字部分)

server {
    listen   80 default;
    server_name  _;
    index index.php;

     location / {
             root   /site/www/save-info.com/wwwroot;
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://www.save-info.com;
            }
}

Nginx WEB服务功能配置项

 location ~ .*\.php?$
    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include fastcgi_params;
        set_real_ip_from   64.64.24.71/26;   #允许被信任的IP段
        real_ip_header     X-Real-IP;
    } 

LNMP WebServer自动安装(Linux、Nginx、MySQL、PHP)

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。

我们为什么需要它?

编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。
不会Linux的站长或Linux新手想使用Linux作为生产环境……

它有什么优势?

无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对VPS用户进行了优化。

如何获取它?

你可以自由 下载 并使用它在VPS(VDS)或独立服务器上,做为真正的生产环境或测试环境。

安装那些软件

  • Nginx
  • MySQL
  • PHP
  • PHPMyAdmin
  • Zend Optimizer
  • eAccelerator
  • Nginx-RRD
  • vsFTPd/PureFtpd
  • 下载

    最新版本:

    高负载WEB缓存加速软件Varnish

    Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。

    Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。

    继续阅读高负载WEB缓存加速软件Varnish

    高可靠 高性能TCP/HTTP负载均衡器 HAProxy

    HAProxy是一款提供高可用性、负载均衡 以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。HAProxy最主要的特点是性能,HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy完全可以支持数以万计的并发连接。并且HAProxy的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上, 如下所示:
    haproxy pmode HAProxy 高可靠、高性能的 TCP/HTTP 负载均衡器