Nginx:加强SSL安全等级

在配置之前,我们还需要生成一个密钥,SSH 登录 VPS 后运行以下命令,会在当前目录生成名为 “dhparam.pem” 的密钥文件,备用。

openssl dhparam -out dhparam.pem 2048

将将两个证书和这个生成的pem文件都保存在了 /root 文件夹,现在我们切换到路径 /usr/local/nginx/conf/vhost ,打开虚拟主机对应的配置文件,例如 “roov.org.conf” ,在 server 区段增加以下内容:

listen 443 ssl;

ssl on;

ssl_certificate /root/roov.org.crt;

ssl_certificate_key /root/roov.org.key;

ssl_ciphers “EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH”;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;

add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”; # HSTS

add_header X-Frame-Options DENY;

ssl_dhparam /root/dhparams.pem;

add_header X-Content-Type-Options nosniff;

ssl_session_tickets off; # nginx >= 1.5.9

ssl_stapling on; # nginx >= 1.3.7

ssl_stapling_verify on; # nginx => 1.3.7

resolver 8.8.8.8 8.8.4.4 valid=300s;

resolver_timeout 5s;

其中,”ssl_certificate” 后填写 crt 文件所在路径,”ssl_certificate_key” 后填写 key 文件所在路径,该两文件由沃通提供。”ssl_dhparam” 后填写此前生成的 “dhparam.pem” 文件路径。保存后重启 Nginx 即可生效。在开启 HTTPS 之后 Nginx 负载会比之前略高,不过对于大多数博主而言是感受不到的。

如果需要强制开启 HTTPS ,可以将原 server 区段 “listen 80;” 前添加#变为 “#listen 80;” ,在末尾追加新的 server 区段。内容如下:

server {

listen 80;

server_name roov.org;

rewrite ^(.*)$ https://$host$1 permanent;

}

即可实现强制跳转HTTPS。配置完成后可以到 SSL Labs 测试 SSL 强度,不出意外应该是A+评级。

2015年6月1日发布 LNMP 1.2 一键安装包国内下载

下载版:http://soft.vpser.net/lnmp/lnmp1.2.tar.gz (115KB)
MD5:75429551c2614e298e6df5ccda0d3968
完整版:http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz (303MB)
MD5:9fda60bd8d699ec53c16545af6c16360
国内下载地址:
https://api.sinas3.com/v1/SAE_lnmp/soft/lnmp1.2-full.tar.gz 下载时wget需要加–no-check-certificate参数
http://lnmp.qiniudn.com/lnmp1.2-full.tar.gz
http://lnmporg.b0.upaiyun.com/lnmp1.2-full.tar.gz

LNMP 1.2对脚本进行重写优化,使用lnmp进行大部分的管理任务、使用upgrade.sh进行程序的升级、使用addons.sh进行组件的安装和卸载。同时增加了诸多实用脚本。
安装前建议使用screen,执行:screen -S lnmp 后,执行:wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh {lnmp|lnmpa|lamp}

LNMP状态管理:lnmp {start|stop|reload|restart|kill|status}
LNMP各个程序的状态管理:lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
虚拟主机管理:lnmp vhost {add|list|del}
数据库管理:lnmp database {add|list|del}
FTP用户管理:lnmp ftp {add|list|del}

更新记录
2015年6月1日发布LNMP 1.2

完全重写优化安装脚本、升级脚本及组件安装等大部分脚本;
状态管理、虚拟' ;&,"vIE' ;&,"据库管理全部采用lnmp命令替换,去掉/root/vhost.sh和/root/lnmp脚本;
Nginx、MySQL/MariaDB、PHP的升级脚本整合为upgrade.sh;
缓存、加速、imageMagick、ionCube等的安装卸载采用addons.sh进行;
增加SSH防护工具DenyHosts、Failban安装脚本及DenyHosts被封IP删除脚本;
增加新的备份脚本backup.sh;
支持的Linux发行版:CentOS 5-7、RHEL 6-7、Fedora 20-21、Aliyun、Debian 6-8、Raspbian、Ubuntu 10.10-15.04;
支持ARM平台,Raspberry Pi已测试;
MySQL安装时可选5.1.73、5.5.42、5.6.23,MariaDB可选5.5.42、10.0.17;
PHP安装时可选5.2.17、5.3.29、5.4.41、5.5.25、5.6.9;
安装时增加内存优化jemalloc或gperftools;
Apache安装时可选2.2.29或2.4.12;
Apache日志统一到/home/wwwlogs/下;
更新Nginx至1.8.0;
更新Zend Guard Loader至支持PHP 5.6;
更新phpMyAdmin至4.0.10.10、4.4.7;
更新memcached脚本,php-memcache或php-memcached可选;
Nginx配置文件进行了调整,启用php和pathinfo采用include方式,默认启用spdy,增加ssl范例配置;
PHP启用pear、pecl,可以直接使用该命令安装php扩展或模块;
等诸多小的更新及调整;
2014年6月13日修复redis phpredis未安装;