Sep 18

If use basic setting in Header from https you will get HTTP/1.0 so it cannot redirect to right host.
It’s very easy to set with Nginx you can use
[code lang="bash"]
proxy_set_header X-FORWARDED_PROTO https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
[/code]

already use and sent you to correct host.

Tagged with:
Sep 04

High scalability with Nginx, I have read some article about Nginx, which show more powerful with load balance, reverse proxy, imap, pop3 and smtp.
This post is howto install Nginx for using in our project, let’s go….

Install prerequisites :
[code lang='bash']apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev[/code]

Get source package : http://sysoev.ru/nginx/nginx-0.6.32.tar.gz
Get syslog patch : http://wiki.codemongers.com/NginxModules?action=AttachFile&do=get&target=syslog.patch

[code lang='bash']tar zxf nginx-0.6.32.tar.gz
cd nginx-0.6.32
patch -p1 < ../syslog.patch #which use SysLog
./configure --with-http_ssl_module --with-mail --with-mail_ssl_module --with-syslog
make
make install
[/code]

init.d script
vi /etc/init.d/nginx
[code lang='bash']
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;

restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac

exit 0
[/code]

Give some permissions:
[code lang='bash']
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults[/code]

Ok, already done.

Tagged with:
preload preload preload