配置nginx
安装nginx
<!--安装依赖-->
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
<!--下载压缩包-->
wget http://nginx.org/download/nginx-1.12.2.tar.gz
<!--解压-->
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2/
<!--执行配置-->
./configure
<!--编译、安装(默认安装在/usr/local/nginx)-->
make
make install
防火墙配置
<!--nginx默认监听80端口,如果未关闭防火墙需要配置iptables规则开放80端口(以centos6为例)。-->
<!--编辑配置文件:-->
vim /etc/sysconfig/iptables
<!--在文件中间添加iptables规则-->
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
<!--重启防火墙:-->
service iptables restart
<!--或关闭iptables规则:-->
iptables -F && iptables -t nat -F
配置SSL
安装SSL模块
<!--回到nginx解压目录 重新添加ssl模块-->
cd /nginx-1.12.2/
./configure --with-http_ssl_module
<!--重新编译-->
make
<!--在nginx-1.12.2目录下将新的程序覆盖原有的-->
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
<!--回到/usr/local/nginx目录,检测ssl模块是否安装成功-->
./sbin/nginx -V
<!--启动nginx-->
nginx -c /usr/local/nginx/conf/nginx.conf
安装证书生成模块
<!--先停止nginx服务,避免80端口占用-->
nginx -s stop
<!--安装certbot-auto-->
cd root
wget https://dl.eff.org/certbot-auto
<!--域名签名 可以使用 -d 添加多个域名-->
./certbot-auto certonly --standalone --email 邮箱地址 --agree-tos -d 签名的域名
<!--查看生成的证书-->
ls /etc/letsencrypt/live/
<!--配置自动更新证书 (不知道有木有用)-->
./certbot-auto renew --quiet --no-self-upgrade
nginx配置ssl
配置文件
/usr/local/nginx/conf/nginx.conf
server {
listen 80;
# ssl端口
listen 443 ssl;
server_name 网站域名;
# ssl配置
ssl_certificate /etc/letsencrypt/live/网站域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/网站域名/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# http强制跳转https
if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
location / {
root html;
index index.html;
}
}
参考: