nginx和appache ssl配置区别

申请证书时选择apache 服务器和 nginx服务器。返回的证书规格是不同的

Apache WEB引擎安装SSL

我们需要先在Apache根目录下 conf/httpd.conf 文件,找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#号注释;编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件。

修改如下内容:

<VirtualHost www.domain.com:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>

配置完成后,重新启动 Apache 就可以使用HTTPS网址访问。相对来说好像NGINX比较简单一些。

注意 apache 一共有三个文件分别是 ca.crt domain.crt domain.key

将证书转换为nginx 支持模式

我们在购买证书后会看到ca.crt和domain.crt文件,需要将这2个文件合并到一个文件.crt中。

我们需要将上面的CRT文件和KEY文件上传到网站服务器目录中,这个具体放到哪里没事。因为我们可以在引用的时候调用对应自己的路径。

配置如下

  ssl_certificate /usr/local/nginx/conf/ssl/网站域名.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/网站域名.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;


证书之间的格式转换要注意:

SSL证书服务可提供Nginx服务器、Apache服务器、Tomcat服务器、IIS服务器和其他服务器类型证书下载并安装到对应的服务器中。

不同格式的证书下载解压后可能包含以下文件:

  • .key文件是证书私钥文件,如果申请证书时没有选择系统创建CSR,则没有该文件。请您保存好该私钥文件
  • .crt文件是证书文件,一般包含两段内容。如果是Apache服务器,会将证书文件拆分成 _public.crt(证书文件)和_chain.crt(证书链或中间证书文件)。
  • .pem文件是证书文件,一般包含两段内容。Nginx证书会使用扩展名文件,在阿里云SSL证书中与.crt文件一样。说明 .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。
  • .pfx文件,一般适合Tomcat/IIS服务器。每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。
原文地址:https://www.cnblogs.com/leleyao/p/14335340.html