Apache 和Nginx启用https 的一些要点心得
因为之前的域名比较敏感,所以ssl证书一直没办法通过审核。
最近终于狠下心,换了一个域名,开启了完美的ssl之旅~
Apache和nignx启用的实际上配置并不复杂,只不过有一些步骤非常容易忽略。
下面简单的说说启用https需要注意的要点:
Apache
模块的开启
打开Apache根目录下 conf/httpd.conf 文件,
找到 #LoadModule ssl_module modules/mod_ssl.so
去掉前面的注释符号 #
配置
打开 vhosts.conf
添加如下内容
DocumentRoot "C:/www/html" #网站目录 ServerName www.domain.com #www.domain.com 你的域名 SSLEngine on SSLCertificateFile 这里填入路径/2_www.domain.com_cert.crt SSLCertificateKeyFile 这里填入路径/3_www.domain.com.key SSLCertificateChainFile 这里填入路径/1_root_bundle.crt
注:
配置文件参数 | 说明 |
---|---|
SSLEngine on | 启用SSL功能 |
SSLCertificateFile | 证书文件 |
SSLCertificateKeyFile | 私钥文件 |
SSLCertificateChainFile | 证书链文件 |
添加hosts
将下面两行加入hosts文件内
127.0.0.1 www.domain.com
127.0.0.1 domain.com
注:hosts 文件通常在 C:\Windows\System32\drivers\etc内,如果找不到建议在C盘内直接搜索hosts
Nginx
配置
打开 vhosts.conf
添加如下内容
server { listen 443; server_name www.domain.com; #填写绑定证书的域名 ssl on; ssl_certificate 1_www.domain.com_bundle.crt;#同Apache,建议放到nginx/conf目录下,这样可以不用写绝对路径了 ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #根据证书提供的协议配置,不可照搬 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照证书提供的套件配置,不可照搬 ssl_prefer_server_ciphers on; location / { root C:/www/html; #站点目录 index index.html index.php index.htm ; } }
注:
配置文件参数 | 说明 |
---|---|
listen 443 | SSL访问端口号为443 |
ssl on | 启用SSL功能 |
ssl_certificate | 证书文件 |
ssl_certificate_key | 私钥文件 |
ssl_protocols | 使用的协议 |
ssl_ciphers | 配置加密套件,写法遵循openssl标准 |
添加hosts
将下面两行加入hosts文件内
127.0.0.1 www.domain.com
127.0.0.1 domain.com
注:hosts 文件通常在 C:\Windows\System32\drivers\etc内,如果找不到建议在C盘内直接搜索hosts