安装介绍

https是一种趋势,为了以后着想、和尝尝鲜。特地在阿里云上申请个免费DV证书。

步骤是登录账号->点击个人头像->产品与服务->证书服务->购买证书。

阿里云
是3月31号申请的证书结果4月1号就成功了 ,并没有发邮件。申请的时候发了个邮件,告诉你方法。

邮件通知

有两种方式在申请。

  1. 文件的方式
  2. NDS方式

    我选择的是文件。

    因为我的服务器是香港的,账号是我公司的。之前申请了腾讯云的证书,结果6天左右给我邮件回复说没有检测到。我想可能是我 没有买腾讯云的产品吧,也有可能是我操作有误。然后用公司的第一天申请,第二天就OK 了。

    阿里官方nginx安装ssl步骤和apache的 最后有我的配置文件和强制跳转https方法

文件说明:

  1. 证书文件214060236420832.pem,包含两段内容,请不要删除任何一段内容。
  2. 如果是证书系统创建的CSR,还包含:证书私钥文件214060236420832.key。

    ( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214060236420832.key;
    ( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,

找到:

# HTTPS server
#     server {
#     listen 443;
#     server_name localhost;
#     ssl on;
#     ssl_certificate cert.pem;
#     ssl_certificate_key cert.key;
#     ssl_session_timeout 5m;
#     ssl_protocols SSLv2 SSLv3 TLSv1;
#     ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#     ssl_prefer_server_ciphers on;
#        location / {
#
#
#       }
#    }

    ( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

server {
    listen 443;
    server_name localhost;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/214060236420832.pem;
    ssl_certificate_key  cert/214060236420832.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

保存退出。

    ( 4 )重启 Nginx。

当你点击下载的时候里面也有apache的配置

    ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214060236420832.key;

    ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf

    ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
# 修改加密套件如下
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/214060236420832.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem

    ( 4 ) 重启 Apache。

我的配置

    注意nginx要升级https要在编译安装要开启–with-http_ssl_module 这个。

#user  nobody;
user  webadmin;
worker_processes  1;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    server {
    listen 80;
    server_name www.solo365.cn
    return 301 https://$server_name$request_uri;
#    rewrite ^(.*) https://$server_name$1 permanent;
      
        return     301 https://$host$request_uri;
    
    }


    server {
 
        listen       443;
        server_name  www.bbswhy3d.com www.solo365.cn ;
    ssl on;
        #charset koi8-r;
        ssl_certificate   cert/214060236420832.pem;
        ssl_certificate_key  cert/214060236420832.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        access_log  logs/host.access.log  main;
    index index.php index.html;
    root /usr/local/nginx/html/solo;
        location / {
    #    root   html;
            if (-f $request_filename/index.html){
                rewrite (.*) $1/index.html break;
            }
            if (-f $request_filename/index.php){
                rewrite (.*) $1/index.php;
            }
            if (!-f $request_filename){
                rewrite (.*) /index.php;
            }
        }

        error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
         error_page   500 502 503 504  /50x.html;
        location = /50x.html {
          #  root   html;
        }

        location ~ .+\.php.*$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  $request_filename;
        include  fastcgi_params;
     fastcgi_param HTTPS on; 
         }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

include vhosts/*.conf;

}
Last modification:January 3, 2020
如果觉得我的文章对你有用,请随意赞赏