2024年11月

安装HTTPS证书通常涉及以下几个步骤:

1. 获取HTTPS证书

首先,你需要获取一个HTTPS证书。这可以是从一个证书颁发机构(CA)购买的,也可以是免费的证书,比如从Let's Encrypt获取的。

2. 准备证书文件

确保你拥有以下文件:

  • 证书文件(通常是.crt.pem格式)
  • 私钥文件(通常是.key格式)
  • 可选:中间证书(如果CA提供了中间证书,你需要将它添加到你的证书链中)

3. 配置服务器

不同的服务器软件有不同的配置方式。以下是一些常见服务器的配置方法:

Apache服务器

编辑Apache的配置文件(通常是httpd.conf或在sites-available/目录下的文件),添加或修改一个VirtualHost块,如下所示:

<VirtualHost *:443>
    ServerName www.yourdomain.com
    SSLEngine on
    SSLCertificateFile /path/to/your_domain.crt
    SSLCertificateKeyFile /path/to/your_domain.key
    SSLCertificateChainFile /path/to/intermediate.crt
    # 其他配置...
</VirtualHost>

Nginx服务器

编辑Nginx的配置文件(通常是nginx.conf或在sites-available/目录下的文件),添加或修改一个server块,如下所示:

server {
    listen 443 ssl;
    server_name www.yourdomain.com;

    ssl_certificate /path/to/your_domain.crt;
    ssl_certificate_key /path/to/your_domain.key;
    ssl_trusted_certificate /path/to/intermediate.crt;

    # 其他配置...
}

4. 合并证书(如果需要)

如果你有多个证书文件(例如,服务器证书和中间证书),你可能需要将它们合并成一个文件。可以使用以下命令:

cat your_domain.crt intermediate.crt > combined.crt

然后,在服务器配置中使用合并后的combined.crt文件。

5. 重启服务器

配置完成后,重启你的Web服务器以应用新的配置:

对于Apache:

sudo systemctl restart apache2

或者

sudo service apache2 restart

对于Nginx:

sudo systemctl restart nginx

或者

sudo service nginx restart

6. 测试配置

使用浏览器访问你的网站,确保HTTPS连接正常工作。你也可以使用SSL检查工具,如SSL Labs的SSL Server Test,来验证你的SSL配置。

请确保替换路径和文件名为你的实际证书文件路径和名称。如果你在安装过程中遇到任何问题,检查服务器的错误日志可能会提供有用的信息。

HTTPS证书下载:

  1. 阿里云:提供了适用于各种服务器(例如,Nginx、Spring Boot、Apache Tomcat、Apache(httpd)、IIS等)的SSL证书压缩包,供您直接下载使用(无需手动转换SSL证书格式)。
  2. 腾讯云:提供了根证书下载服务,如果您的业务需要通过非浏览器客户端访问您的服务,由于客户端没有预先内置根证书,您需要在对应客户端中安装根证书。
  3. foxssl官网:提供了在线获取网站证书或证书链的服务,支持下载RSA&ECC双证书及其证书链。
  4. UU在线工具:提供了在线网站SSL证书链下载工具,用于下载指定网站的SSL证书的所有证书链,或者单独下载任意层级的证书。

根据您的请求,以下是2024年免费申请HTTPS证书的一些推荐途径:

  1. foxSSL.com 推荐

    • foxssl是国产CA服务商打造的自主品牌SSL证书,提供免费一年期单域名证书和通配符证书等多种类型,且申请流程简便。打开网站 free.foxssl.com 申请90天免费SSL证书
  2. ZeroSSL

    • ZeroSSL是一家提供SSL/TLS证书的服务商,提供了简单易用的界面和工具,使得生成、安装和管理SSL证书变得非常方便。ZeroSSL提供了免费的基础SSL证书,适用于个人网站和小型项目,证书有效期为90天,可以通过自动化工具或手动方式进行更新。
  3. 阿里云

    • 阿里云提供免费的DV域名型SSL证书,由Digicert提供。一个阿里云账号可以免费申请20张SSL免费证书,免费时长为3个月。
  4. Let's Encrypt

    • Let's Encrypt是一个免费、自动化且开放的证书颁发机构(CA),旨在通过提供免费的SSL/TLS证书来促进整个互联网的安全性。Let's Encrypt提供的证书是完全免费的,这极大地降低了网站开启HTTPS的成本,特别适用于中小型网站和个人网站。

生成HTTPS证书通常涉及到创建一个密钥对(私钥和公钥)以及一个证书签名请求(CSR),然后将CSR提交给证书颁发机构(CA)以获取签名的证书。以下是使用OpenSSL生成自签名HTTPS证书的步骤:

1. 生成私钥(Private Key)

使用OpenSSL生成一个私钥。通常,我们使用RSA算法,长度至少为2048位:

openssl genrsa -out private.key 2048

这条命令会生成一个2048位的RSA私钥,并将其保存在private.key文件中。

2. 创建证书签名请求(CSR)

使用私钥生成一个证书签名请求(CSR),过程中需要提供组织信息、常用名称(CN,通常是域名)等信息:

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

在命令执行过程中,系统会提示你输入一些信息,如国家代码、地区、组织名称等。这些信息将被包含在你的CSR中。

3. 生成自签名证书

如果你不打算从CA获取证书,可以生成一个自签名的证书。这个证书不会被浏览器信任,但可以用于测试目的:

openssl req -x509 -days 365 -key private.key -in csr.csr -out certificate.crt

这条命令会生成一个有效期为365天的自签名证书,并将其保存在certificate.crt文件中。

4. 合并证书和私钥(如果需要)

对于某些服务器配置,你可能需要将证书和私钥合并成一个.pfx文件:

openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt

在执行这个命令时,系统会提示你为.pfx文件设置一个密码。

5. 使用证书

现在你可以将生成的private.keycertificate.crt(或certificate.pfx)文件用于配置你的服务器以启用HTTPS。

请注意,自签名证书主要用于测试和开发环境,对于生产环境,建议从受信任的CA购买证书,以确保浏览器和其他客户端的信任。

配置Tomcat以使用HTTPS证书涉及几个步骤,以下是详细的配置流程:

1. 申请SSL证书

你可以申请免费或付费的SSL证书。免费证书可以通过Let's Encrypt等机构获得,而付费证书则可以从各大CA(证书颁发机构)购买。如果你选择使用免费证书,可以按照以下步骤操作:

  • 访问Let's Encrypt官网或使用Certbot工具申请证书。

2. 准备证书文件

如果你申请的是免费证书,可能会收到.crt.key文件。你可能需要将这些文件合并或转换为Tomcat可以使用的格式,如.jks.pfx

3. 配置Tomcat使用SSL证书

以下是配置Tomcat以使用SSL证书的步骤:

3.1 打开Tomcat配置文件

找到Tomcat的server.xml配置文件,通常位于<Tomcat安装目录>/conf/下。

3.2 修改Connector配置

server.xml中找到<Connector>标签,设置HTTPS连接。如果你使用的是.jks.pfx文件,配置可能如下所示:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           keystoreFile="/path/to/your/keystore.jks" keystorePass="your_keystore_password"
           clientAuth="false" sslProtocol="TLS" />
  • port: HTTPS的端口,默认为8443。
  • keystoreFile: 证书文件的路径。
  • keystorePass: 证书文件的密码。

3.3 配置SSLHostConfig(如果需要)

如果你需要为不同的虚拟主机配置不同的证书,可以使用<SSLHostConfig>标签:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="conf/www.wosign.com.jks"
                     certificateKeystorePassword="HkWUjpvDUVJPS"
                     type="RSA"/>
    </SSLHostConfig>
</Connector>
  • certificateKeystoreFile: 指定特定虚拟主机的证书文件。
  • certificateKeystorePassword: 证书文件的密码。

4. 重启Tomcat

配置完成后,重启Tomcat以使更改生效。

5. 测试HTTPS连接

使用浏览器访问https://你的域名:端口https://localhost:端口来测试HTTPS连接是否成功。