在当前的网络环境中,为了保障网站的用户信息安全,使用SSL证书已经成为了一个标配。Nginx是一个高性能的Web服务器软件,在使用Nginx进行Web服务的时候,安装一个SSL证书也是非常有必要的。在本文中,我们将详细介绍如何安装SSL证书的步骤及注意事项。
一、生成证书
首先,需要先生成证书文件。可以通过许多工具来创建SSL证书,如openssl、certbot等等。这里我们以certbot为例,通过命令行在服务器中完成证书生成。
安装certbot:
yum install certbot
获取ssl证书:
certbot certonly --nginx -d example.com
其中example.com为你的域名,请替换为你自己的域名。
此时,会有一系列的提示信息,按照提示进行操作即可。在完成后,你将获得3个文件:
- privkey.pem: 私钥
- fullchain.pem: 公钥和根证书,并在其中排列。
- chain.pem: 根证书
二、安装证书
安装nginx
在安装nginx之前,请确保先安装好openssl、pcre、zlib等依赖的安装包,在此不多赘述。
yum install nginx
修改nginx配置文件
在nginx的配置文件中增加ssl证书的路径,以及启用SSL服务。
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload;";
}
在以上代码中,listen 443 ssl启用了Web服务的SSL服务端口,server_name指定域名,ssl_certificate和ssl_certificate_key指定证书的路径,除此之外用的都是SSL的标准配置。
注意:nginx中的http模块需要启用ssl模块。
http {
server_tokens off;
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
}
重启nginx服务
重启nginx服务,若没有出现错误,那么恭喜你已经完成了SSL证书的安装。
三、注意事项
- 请保证在生成证书的时候输入正确的域名,否则无法通过SSL证书验证。
- 在nginx配置文件中指定证书文件时,必须是绝对路径。
- SSL服务需要占用独立的端口(一般为443),不要与其他Web服务共用。
- 使用SSL协议时,使用其他传输协议的API需要做相应的修改,以配合SSL协议工作。
总结
在安装Nginx SSL证书的时候,需要先生成证书,然后修改Nginx的配置文件,再重启Nginx服务即可。在整个过程中,注意事项必须要遵守,才能保证SSL证书能够正常使用,确保用户信息的安全。
互亿无线力图为您带来全面的SSL证书解决方案,守护您网站的安全和信誉。我们致力于提供各种类型的SSL证书,如DV(域名验证)、OV(组织验证)和EV(扩展验证)证书,满足您不同的安全需求。我们为您提供多种证书类型选择,包括单域名、多域名以及通配符证书。以满足您的网站架构需求。我们与全球知名的证书品牌,例如Globalsign、DigiCert、GeoTrust、Symantec、Sectigo等保持紧密合作,确保为您提供高品质的SSL证书。
一站式SSL证书申请平台 |
|
SSL证书快速签发服务 |
|
我们提供高性价比的SSL证书价格方案 |
|
我们的完备SSL证书服务 |
点击浏览器小锁标志显示[小锁+连接是安全的],单击此栏目显示[证书有效],然后单击显示证书信息。
SSL证书分为三个部分:常规、详细信息和证书路径。您可以依次单击查看证书中的相应信息。
点击[详细信息]-[使用者]查看用户信息,该证书颁发给谁,该组织位于哪里等。
如何选择证书类型?
若您的网站主体为个人(即无企业营业执照),只能申请免费或DV型数字证书。
对于一般企业,建议购买OV及以上类型的数字证书。金融.建议支付企业购买EV证书。
移动网站或接口调用,建议您使用OV及以上类型的证书。
(DigiCert该品牌的EV证书受到服务器IP的限制。如果您的一个域名有多个主机IP,建议您购买多张数字证书。)
如何选择证书品牌?
各数字证书品牌兼容性由强到弱的顺序:DigiCert>GeoTrust>CFCA。
建议您选择Digicert品牌作为移动网站或接口调用相关应用。
域名类型如何选择?
1.单域名:单域名是指一个证书只能保护一个主域名或一个子域名或一个公共网络IP。例如,www.ihuyi.com。
2.多域名:多域名是指同时绑定多个单域名的证书。这些域名可以是顶级域名或非顶级域名,例如demo.example.com.guide.developer.ihuyi.com等等。一个证书最多支持绑定250个域名。
3.通配符域名:通配符域名是指所有与主域名和次级域名相对应的子域名。例如*.ihuyi.com,默认赠送ihuyi.com,*.ihuyi.com可以匹配www.ihuyi.com(下一级子域名).example.ihuyi.com(下一级子域名)等,不支持匹配www.example.ihuyi.com。
例如,通配符域名只支持同级匹配*.ihuyi.com支持demo.ihuyi.com,但不支持learn.demo.ihuyi.com。假如你需要支持learn.demo.ihuyi.com通配符域名数字证书还需要购买一张*.demo.ihuyi.com通配符域名证书。
多通配符证书是指绑定多个通配符域名的证书。数字证书管理服务只支持申请单个通配符域名的证书,不支持申请多通配符域名的证书。您可以合并多个相同的品牌.生成多通配符证书的类型证书。具体操作请参见证书合并申请。
4.混合域名:混合域名证书是指包括单个域名和通配符域名的绑定域名的证书。例如,绑定域名是*.ihuyi.com.demo.example.com,称该证书为混合域名证书。
数字证书管理服务不支持混合域名证书的申请。您可以合并多个相同的品牌.类型证书,生成混合域名证书。具体操作请参见证书合并申请。
只有域名本身包含在通配符域名的数字证书中。例如:
*.ihuyi.com通配符域名数字证书包括ihuyi.com。
*.demo.ihuyi.com通配符域名数字证书不包括demo.ihuyi.com。
如果在特定域名中填写www域名,则包含主域名本身。例如:
www.ihuyi.com域名绑定的数字证书包括ihuyi.com。
www.demo.ihuyi.com域名绑定的数字证书不包括demo.ihuyi.com。
一旦颁发了您的数字证书,您将无法修改域名信息。
SSL证书格式主要是公钥证书格式标准X.PEM和DER定义在509中、PKCS中定义PKCS#7和PKCS#12、Tomcat专用JKS。SSL证书的常见格式及转化方法如下:
常见的SSL证书格式
DER:DistinguishedencodingRules缩写,二进制编码的证书格式,相当于PEM格式的二进制版本,证书后缀有:.DER.CER.CRT,Java平台主要用于Java平台
PEM:PrivacyEnhancedMail的缩写,Base64编码的证书格式,是将Base64二进制版本编码后,以“—–BEGIN开头,“……”—–END结尾。证书的后缀有:.PEM.CER.CRT,主要用于Apache和Nginx。
PKCS#7:PKCS(Public-KeyCryptographyStandards)PKCS标准中的PKCS#7(CryptographicMessageSyntaxStandard)。它不包含私钥,单独存储证书链和用户证书。证书后缀如下:.P7B.P7C.SPC,主要用于Tomcat和Windowsserver。
PKCS#12:PKCS(Public-KeyCryptographyStandards)PKCS#12标准PKCS#(PersonalInformationExchangeSyntaxStandard)。它包含私钥、证书链、用户证书和密码。证书后缀有:.P12.PFX,主要用于Windowsserver。
JKS:JavaKeyStore缩写,包含私钥、证书链、用户证书,并设置密码。证书后缀为.jks。主要用于Tomcat。
SSL证书格式转换方法
Webtrust认证的CA机构颁发的证书通常只提供PEM格式或PKCS#7格式。如果需要其他证书格式,可以使用以下常用方法进行格式转换。
使用OpenSSL、Keytool转化
1.pem转换pfx
openssl pkcs12 -export -in 'test.pem' -inkey 'test.key' -out 'test.p12' -passout pass:123456
2.pem转换jks
openssl pkcs12 -export -in 'test.pem' -inkey 'test.key' -out 'test.p12' -passout pass:123456
keytool -importkeystore -srckeystore 'test.p12' -srcstoretype PKCS12 -destkeystore 'test.jks' -srcstorepass 123456 -deststorepass 123456
3.pfx转换pem
openssl pkcs12 -in test.p12 -passin pass:123456 -out test3.pem -nodes
4.pfx转换jks
keytool -importkeystore -srckeystore 'test.p12' -srcstoretype PKCS12 -destkeystore 'test.jks' -srcstorepass 123456 -deststorepass 123456
5.jks转换pem
keytool -importkeystore -srckeystore 'test.jks' -srcstoretype jks -destkeystore 'test.p12' -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456
openssl pkcs12 -in test.p12 -passin pass:123456 -out test3.pem -nodes
6.jks转化pfx
keytool -importkeystore -srckeystore 'test.jks' -srcstoretype jks -destkeystore 'test.p12' -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456SSL
150,000家
企业客户
20年
行业经验
2V1
2对1客户支持