如何在localhost(https:// localhost/)上设置SSL?
#网络开发人员 #php #ssl #localhost

在开始之前,重要的是要注意SSL证书通常是针对域名发行的,而不是IP地址或Localhost。但是,您仍然可以为Localhost创建一个自签名的SSL证书,可用于测试目的。

以下是在Local主机上设置SSL的步骤:

生成自签名的SSL证书

在Windows上,您可以使用OpenSSL或XAMPP等工具来生成自签名的SSL证书。在Linux或MacOS上,您可以使用OpenSSL命令行工具。
打开命令提示符或终端,然后导航到要生成SSL证书的目录。
输入以下命令生成私钥:

openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out csr.pem

输入以下命令生成自签名的SSL证书:

openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem

这将生成自签名的SSL证书,并将其保存到当前目录中的“ cert.pem”的文件中。
安装SSL证书

在Windows上,您可以通过双击CERT.PEM文件并遵循证书进口向导中的提示来安装SSL证书。
在Linux或MacOS上,您可以将CERT.PEM文件复制到/usr/local/local/share/ca-certificates/Directory,然后运行以下命令以更新系统的证书存储:

sudo update-ca-certificates

配置您的Web服务器以使用SSL

如果您使用的是Apache,则可以通过在 httpd.conf 文件中删除以下行启用SSL:

LoadModule ssl_module modules/mod_ssl.so

然后,为使用SSL证书的Localhost网站创建虚拟主机:

<VirtualHost *:443>
    ServerName localhost
    DocumentRoot /path/to/localhost
    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem
</VirtualHost>

替换/path/to/localhost使用Localhost网站目录的路径,然后替换/path/path/path/path.pem和/path和/path/path/to/key.pem,带有SSL证书和私有密钥文件的路径,分别。
如果您使用的是nginx,则可以通过在服务器块中添加以下行来启用SSL:

listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;

再次替换/path/path.pem和/path/path/key.pem分别使用SSL证书和私人密钥文件的路径。
测试SSL连接

打开一个网络浏览器,并导航到https://localhost/http://localhost/。您应该看到警告说,由于该网站的证书是自签名的。但是,您仍然应该能够进入网站。
如果您使用的是Chrome,则可能需要单击地址栏中的“不安全”按钮,然后单击“证书(无效)”以查看证书。

如何使用SSL在Localhost上运行PhpMyAdmin?

  • 按照我上面说的答案,请执行以下步骤生成自签名的SSL证书并配置Apache以使用SSL。
  • 打开位于XAMPP安装的“ phpmyadmin”目录中的phpMyAdmin配置文件(例如,C:\ xampp \ xampp \ phpmyadmin \ config.inc.inc.inc.php)。
  • 将以下行添加到文件末尾:
$cfg['ForceSSL'] = true;
$cfg['SSLVerify'] = false;
  • 第一行强迫phpmyadmin使用SSL,第二行禁用SSL验证。由于您使用的是自签名的证书,因此除非您在计算机上安装证书作为受信任的证书,否则SSL验证将失败,但是出于开发目的,可以将其禁用。
  • 将更改保存到配置文件中。
  • 在XAMPP控制面板中重新启动Apache。
  • 打开网络浏览器并导航到https://localhost/phpmyadmin。现在,您应该能够使用SSL访问PhpMyAdmin。你可能会看到 关于自签名证书的警告,但您应该能够继续进行网站。