在Ubuntu上配置PHP SSL加密连接通常涉及以下几个步骤:
1. 安装SSL证书首先,你需要一个SSL证书。你可以从Let’s Encrypt免费获取,或者购买一个商业证书。
使用Let’s Encrypt获取证书安装Certbot:
sudo apt updatesudo apt install certbot python3-certbot-apache
获取证书:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的获取和安装。
如果你使用的是Apache服务器,Certbot会自动为你配置SSL。
手动配置Apache如果你需要手动配置Apache以支持SSL,可以编辑Apache配置文件:
启用SSL模块:
sudo a2enmod ssl
配置SSL虚拟主机:编辑/etc/apache2/sites-available/yourdomain.com-le-ssl.conf
文件:
<IfModule mod_ssl.c><VirtualHost *:443>ServerAdmin webmaster@yourdomain.comServerName yourdomain.comServerAlias www.yourdomain.comdocumentRoot /var/www/htmlSSLEngine onSSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pemInclude /etc/letsencrypt/options-ssl-apache.confSSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem<Directory /var/www/html>Options Indexes FollowSymlinksAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost></IfModule>
启用站点:
sudo a2ensite yourdomain.com-le-ssl.conf
重启Apache:
sudo systemctl restart apache2
确保PHP能够处理SSL连接。通常情况下,PHP默认配置已经支持SSL。
检查PHP配置编辑PHP配置文件(通常是/etc/php/7.4/apache2/php.ini
或类似路径):
sudo nano /etc/php/7.4/apache2/php.ini
确保以下设置正确:
; 启用SSLcurl.cainfo = /etc/ssl/certs/ca-certificates.crtopenssl.cafile = /etc/ssl/certs/ca-certificates.crt
重启Apache:
sudo systemctl restart apache2
使用浏览器访问你的域名,确保浏览器显示安全锁标志,并且没有警告信息。
使用命令行测试你可以使用curl
命令来测试SSL连接:
curl -v https://yourdomain.com
如果一切配置正确,你应该看到HTTPS请求的详细信息,并且没有错误。
通过以上步骤,你应该能够在Ubuntu上成功配置PHP SSL加密连接。