Piwigo申请和部署Https证书
1. 获取SSL证书
你可以通过以下几种方式获取SSL证书:
- 从可信的证书颁发机构(如Let’s Encrypt、Comodo、DigiCert等)购买。
- 使用免费的SSL证书提供商,如Let’s Encrypt。
2. 安装SSL证书
根据你使用的Web服务器(如Apache或Nginx),安装SSL证书。
Apache:
在Apache中安装SSL证书:
- 确保安装了
mod_ssl
模块,使用以下命令:sudo a2enmod ssl sudo systemctl restart apache2
- 编辑你的站点配置文件(通常位于
/etc/apache2/sites-available/
),添加SSL配置:<VirtualHost *:80> ServerName yourdomain.com Redirect permanent / https://yourdomain.com/ </VirtualHost> <VirtualHost *:443> ServerName yourdomain.com SSLEngine on SSLCertificateFile /path/to/your_certificate.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/intermediate_certificate.crt DocumentRoot /var/www/html/piwigo <Directory /var/www/html/piwigo> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
- 启用新配置并重新启动Apache:
sudo a2ensite yourdomain.conf sudo systemctl reload apache2
证书安装
- https://certbot.eff.org/instructions?ws=apache&os=ubuntufocal&tab=standard
Nginx:
在Nginx中安装SSL证书:
- 编辑你的站点配置文件(通常位于
/etc/nginx/sites-available/
),添加SSL配置:server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your_certificate.crt; ssl_certificate_key /path/to/your_private.key; ssl_trusted_certificate /path/to/intermediate_certificate.crt; root /var/www/html/piwigo; location / { try_files $uri $uri/ =404; } }
- 测试并重新加载Nginx配置:
sudo nginx -t sudo systemctl reload nginx
3. 更新Piwigo配置
确保Piwigo使用HTTPS:
- 在
local/config/config.inc.php
文件中,添加以下配置:$conf['force_https'] = true;
- 清理Piwigo缓存:
- 登录到Piwigo后台。
- 进入“工具” -> “维护”。
- 点击“清除缓存”。
4. 检查和测试
- 使用浏览器访问你的网站,确保所有资源通过HTTPS加载。
- 检查浏览器控制台是否有混合内容警告(即某些资源仍通过HTTP加载),如果有,修复这些资源的URL。
这样,你的Piwigo项目就成功转换为HTTPS协议了。