1. 确保机器上安装了openssl和openssl-devel
yum install openssl
yum install openssl-devel
2. 自己给自己颁发证书(制作秘钥,单项认证)
cd /usr/local/nginx/conf(可以自己选择一个目录存放安装的证书,自己记得就好)
openssl genrsa -des3 -out server.key 1024 (建立服务器私钥,在这个过程中需要输入密码短语,需要记住这个密码)
openssl req -new -key server.key -out server.csr
输入命令以后,需要填写如下内容:
Country Name(国家:中国填写CN)
State or Province Name(区域或是省份:CHONGQING)
Locality Name(地区局部名字:CHONGQING)
Organization Name(机构名称:填写公司名)
Organizational Unit Name(组织单位名称:部门名称)
Common Name(网站域名)
Email Address(邮箱地址)
A challenge password(输入一个密码)
An optional company name(一个可选的公司名称)
输入完这些内容,就会在当前目录生成server.csr文件
3. cp server.key server.key.org
openssl rsa -in server.key.org -out server.key (对于使用上面的私钥启动具有SSL功能的NGINX)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt (使用上面的密钥和CSR对证书进行签名)
4. 配置Nginx
server {
listen 443;
server_name www.test.com;
index index.html;
root /data/www/;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
ssl_session_timeout 5m;
location / {
alias /data/www/;
}
}
5. 修改data文件夹的权限
chmod -R 777 /data/
6. 命令启动nginx
检测配置: /usr/local/nginx/sbin/nginx -t
启动: /usr/local/nginx/sbin/nginx
重启: /usr/local/nginx/sbin/nginx -s reload
7. 配置iptables, 打开80端口 vi /etc/sysconfig/iptables, 添加以下行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
8. 重启iptables service iptables restart
9. 访问 https://www.test.com/index.html
如需80端口强转443, 则添加配置
server {
listen 80;
server_name www.test.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}