在Nginx中配置Google-Analytics

原因 在Nginx端配置Google-Analytics和在HTML中加载Google-Analytics有几个显著的有点, 杜绝用户到Google Analytics之间的网络问题,特别是国内(尽管已经解析到Google在北京的服务器) 防止adblock这样的软件屏蔽 提升页面加载速度 配置方法 nginx 配置 server 块内加入以下内容 userid on; userid_name cid; userid_domain moonagic.com; userid_path /; userid_expires max; if ($http_accept_language ~* '^(.+?),') {... »

Nginx 1.13.9 HTTP/2 server push 介绍

2018年2月20日发布的NGINX 1.13.9开始支持HTTP/2服务器推送功能. HTTP/2规范中定义的服务器推送允许服务器抢先将资源推送到远程客户端,预计客户端可能很快会请求这些资源.通过这样做,您可以在页面加载操作中将RTT(往返时间 - 请求和响应所需的时间)减少一个RTT或更多,从而为用户提供更快的响应. 配置HTTP/2 server push server { # Ensure that HTTP/2 is enabled for the server listen 443 ssl http2; ssl_certificate ssl/certificate.pem; ssl_certificate_key... »

为Nginx添加TLS1.3支持

Nginx主线分支从1.13.0版本开始支持TLS1.3,只需要在编译的时候选择使用OpenSSL支持TLS1.3的分支进行编译即可. 使用对应的OpenSSL分支进行编译 # OpenSSL对TLS1.3的支持已经到了draft19,不过Chrome和Firefox对TLS1.3的支持还在draft18 git clone -b tls1.3-draft-18 --single-branch https://github.com/openssl/openssl.git openssl 然后在预编译的时候选择该分支,并添加额外选项--with-openssl-opt=enable-tls1_3. 其他操作参考手动编译Nginx支持ALPN,以在最新版Chrome中支持HTTP/2. 浏览器设定 Firefox目前最新版已经默认开启TLS1.3支持(如果不是新安装的Firefox那么可能依然需要检查about:config中的对应设定). Chrome需要在chrome:flags中将TLS 1.3选项调整为Enabled (Draft) 测试 Firefox: Chrome: 已知问题 由于nginx-ct目前并不支持TLS1.3,所以如果Certificate Transparency是靠该方案实现的话那么开启TLS1.3后无法继续显示Certificate Transparency信息. 该问题在Letsencrypt自带CT信息后得到一定缓解,某些商业证书也不需要nginx-ct来实现CT信息.... »

手动编译Nginx支持ALPN,以在最新版Chrome中支持HTTP/2

安装一些必要的工具 apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev 下载需要的源代码 # Openssl版本需要1.0.2才能支持ALPN,而后者是新版Chrome支持HTTP/2的必要条件 wget -O openssl.zip -c https://github.com/openssl/openssl/archive/OpenSSL_1_1_0h.zip unzip openssl.zip mv openssl-OpenSSL_1_1_0h/ openssl wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip unzip... »

Setup LetsEncrypt on Debian

Install LetsEncrypt Client git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt Obtain a Certificate Inside the nginx config, add this location block: location ~ /\.well-known/acme-challenge { root /var/www/html; } Reload... »