CentOS Nginx/Lnmp/Lnmpa 使用SSL安全协议

1、安装

yum install mod_ssl openssl  #可能会告诉你已经安装


2、自我签发证书

在/etc下建立ssl目录方便使用,并转到/etc/ssl目录下
# 产生私钥

openssl genrsa -out ca.key 1024
或
openssl genrsa -out ca.key 2048
#1024与2048为私钥长度。

# 产生 CSR

openssl req -new -key ca.key -out ca.csr

# 产生自我签名证书

openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

3、修改Nginx虚拟主机配置文件

修改Nginx虚拟主机配置文件

vi /usr/local/nginx/conf/vhost/yourhost.conf

添加红色部分

 server      
        {
                listen       80;    #可以删除,使用强制SSL时也需要删除。
                listen       443;
                server_name yourdomain.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /home/wwwroot/yourhostdir;
                ssl on;
                ssl_certificate /etc/ssl/ca.crt;
                ssl_certificate_key /etc/ssl/ca.key;
  ...
       }
#以下是使用rewrite重写URL强制使用SSL代码,使用时删除上面的listen  80;。
server
       {
                listen       80;
                server_name yourdomain.com;
                rewrite ^/(.*)$ https://yourdomain.com/$1 permanent;
       }

4、重启服务或重新加载

重启服务

#lnmp执行
/root/lnmp restart

#lnmpa执行
/root/lnmpa restart

重新加载

#lnmp执行
/root/lnmp reload

#lnmpa执行
/root/lnmpa reload

注:lnmpa一键包平台使用SSL不需要修改apache的配置文件,设置方法一样。
PS:我用的是lnmp.org发布的一键包,军哥出品。

标签: CentOS, Linux, lnmpa, lnmp, Openssl, ssl, https, nginx, apache

评论已关闭