Nginx安装SSL证书

Nginx安装SSL证书

SSL从购买到安装分为一下步骤:

提交CSR & 使用自动生成CSR

验证域名所有权

签发证书

下载服务器证书

解压后应包含两个文件:

yourdomain.com.crt (服务器证书)

yourdomain.com.key (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中

环境检测,检测命令如下(测试nginx是否支持SSL)

nginx -V

如果有输入 –with-http_ssl_module 表示已编译openssl,支持安装ssl

如果没有安装请下载nginx源码重新编译

./configure --with-http_stub_status_module --with-http_ssl_module

make && make install

配置Nginx

server {

listen 80;

listen 443 ssl;

server_name www.gworg.cn;

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

ssl_certificate /etc/ssl/yourdomain.com.crt;

ssl_certificate_key /etc/ssl/yourdomain.com.key;

ssl_prefer_server_ciphers on;

#自动跳转到HTTPS (可选)

if ($server_port = 80) {

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

}

location / {

root /home/getssl/;

index index.php;

}

}

以上配置仅供参考,其他参数请根据生产环境需要添加。

安装后重启nginx使其生效

centos6

service nginx restart

centos7

systemctl restart nginx

问题排查:

如果使用CDN(加速器),需要在CDN上面安装证书,国内免费加速的都不支持https(已知阿里云cdn支持)

检查443端口是否启动 使用下面命令 netstat -apnt | grep 443 (如果没有启动检查配置文件或者端口是否冲突)

443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.

linux iptables使用下面命令:

iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT

相关推荐