创建ssl证书
#进入你想创建证书和私钥的目录
cd /home/conf
#创建服务器私钥
openssl genrsa -des3 -out server.key 1024
#创建签名请求的证书(CSR)
openssl req -new -key server.key -out server.csr
#在加载SSL支持的Nginx并使用上述私钥时除去必须的口令
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
#生成证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
配置nginx
server {
listen 443;
server_name ****.com;#域名
ssl_certificate /home/conf/server.crt;#证书路径(必要)
ssl_certificate_key /home/conf/server.key;#key路径(必要)
ssl_session_cache shared:SSL:1m; #s储存SSL会话的缓存类型和大小(可选)
ssl_session_timeout 5m; #会话过期时间(可选)
ssl_ciphers HIGH:!aNULL:!MD5; #为建立安全连接,服务器所允许的密码格式列表(可选)
ssl_prefer_server_ciphers on; #依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码(可选)
location / {
root /var/www/;
index index.html index.htm;
}
}
将http访问自动跳转到https
server{
listen 80;
server_name ****.com;#域名
rewrite ^/(.*)$ https://****.com/$1 permanent;
}
开启https访问端口
有时候服务器并没有打开443端口的访问权限,需要开放端口
iptables -I INPUT -p tcp --dport 443 -j ACCEPT