Nginx SSL/HTTPS
Nginx Image Hotlink Prevention
Extract ipv6 prefix in python
Nginx – Customizing 404 page
Using IPv6 with Custom and Secondary DNS
source: http://www.dyndns.com/support/kb/ipv6_with_custom_secdns.html
As part of Dyn Inc.’s IPv6 implementation plan, DynDNS.com has recently made a new IPv6 nameserver available for Custom DNS and Secondary DNS customers. Whether you’re looking to get a jump on the transition to IPv6 or you’re simply curious, we’ve created this short tutorial to help you make use of the new nameserver.
Disclaimer
Before we begin, please note that the information in this article is purely for testing and educational purposes. DynDNS.com does not currently guarantee the availability of its IPv6 test servers, so please exercise caution when adding them to the delegation of a domain. Additionally, this article does not provide instructions for configuring IPv6 in your environment, and assumes that you have already done so.
Router Advertisement Daemon (radvd)
Router Advertisement Daemon (radvd)
The router advertisement daemon is very useful on a LAN, if clients should be auto-configured. The daemon itself should run on the Linux default IPv6 gateway router (it’s not required that this is also the default IPv4 gateway, so pay attention who on your LAN is sending router advertisements).
You can specify some information and flags which should be contained in the advertisement. Common used are:
- Prefix (needed)
- Lifetime of the prefix
- Frequency of sending advertisements (optional)
After a proper configuration, the daemon sends advertisements through specified interfaces and clients are hopefully receive them and auto-magically configure addresses with received prefix and the default route.
Configuring radvd
Simple configuration
Radvd’s config file is normally /etc/radvd.conf. An simple example looks like following:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2001:0db8:0100:f101::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
This results on client side in
# ip -6 addr show eth0 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic valid_lft 2591992sec preferred_lft 604792sec inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Because no lifetime was defined, a very high value was used.
IPv6 without tunnel broker on linux
Disabling IPv6 for Linux distributions
Nginx IPV6
Download nginx rpm SOURCE
http://centos.alt.ru/pub/nginx/0.8/RHEL/SRPMS/nginx-0.8.46-1.el5.src.rpm
Install rpm source
# rpm -Uvh nginx-0.8.46-1.el5.src.rpm
Chnage to rpm spec directory
# cd /path/to/rpm/spec/dir
Edit nginx.spec and add –with-ipv6 at configure section. IE:
./configure \ --user=%{nginx_user} \ --group=%{nginx_group} \ --prefix=%{nginx_datadir} \ --sbin-path=%{_sbindir}/%{name} \ --conf-path=%{nginx_confdir}/%{name}.conf \ --error-log-path=%{nginx_logdir}/error.log \ --http-log-path=%{nginx_logdir}/access.log \ --http-client-body-temp-path=%{nginx_home_tmp}/client_body \ --http-proxy-temp-path=%{nginx_home_tmp}/proxy \ --http-fastcgi-temp-path=%{nginx_home_tmp}/fastcgi \ --pid-path=%{_localstatedir}/run/%{name}.pid \ --lock-path=%{_localstatedir}/lock/subsys/%{name} \ --with-http_secure_link_module \ --with-http_random_index_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-http_perl_module \ --with-ipv6 \ --with-mail \ --with-mail_ssl_module \ --with-cc-opt="%{optflags} $(pcre-config --cflags)" \ --add-module=%{_builddir}/nginx-%{version}/nginx-upstream-fair \ --add-module=%{_builddir}/nginx-%{version}/nginx-upload-progress-module \ --add-module=%{_builddir}/nginx-%{version}/mod_zip-1.1.5 \ --add-module=%{_builddir}/nginx-%{version}/nginx_upload_module-2.0.12 \ --add-module=%{_builddir}/nginx-%{version}/nginx_mod_h264_streaming-2.2.7