在Linux Nginx环境下配置SSL证书并为WordPress设置CDN是一个提升网站安全性和性能的重要步骤。以下是详细的操作流程:
# Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx
# CentOS/RHEL
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
2
强制跳转)。sudo certbot renew --dry-run
检查/etc/nginx/sites-available/yourdomain.com
,确保包含类似配置:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# 其他配置...
}
cdn.yourdomain.com
或Cloudflare提供的CNAME)。wp-config.php
define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');
在Nginx配置中添加规则:
location ~* \.(jpg|jpeg|png|gif|css|js|woff2)$ {
expires 365d;
add_header Cache-Control "public";
proxy_pass https://cdn.yourdomain.com;
}
cdn.yourdomain.com/wp-content/...
)。HSTS增强安全
在Nginx中添加:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
OCSP Stapling
在Nginx的SSL配置中添加:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
CDN缓存规则
在Cloudflare的"Page Rules"中设置缓存策略(如缓存HTML、忽略动态路径)。
SSL证书不生效
sudo tail -f /var/log/nginx/error.log
。sudo ufw allow 443/tcp
。CDN资源不加载
混合内容警告
通过以上步骤,你的WordPress站点将具备HTTPS安全和CDN加速能力。如需其他CDN服务(如AWS CloudFront、BunnyCDN),配置逻辑类似,只需替换对应的CDN提供商信息即可。