Đứng sau Nginx reverse proxy, dường như WordPress không nạp được đầy đủ các file CSS. Giả sử cấu hình Nginx reverse proxy như sau:
server {
listen 443 ssl;
server_name domain.com;
include ssl.conf;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
proxy_pass http://192.168.1.200:8000/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
}
Theo đó, WordPress nằm ở máy cục bộ 192.168.1.200 và lắng nghe port 8000.
Cấu hình trên chưa đủ để WordPress trình bày đúng trên máy người dùng. Chúng ta sửa file wp-config.php trong thư mục wordpress, tìm đến dòng $table_prefix, dán dưới dòng này nội dung sau đây:
if ( (!empty( $_SERVER['HTTP_X_FORWARDED_HOST'])) || (!empty( $_SERVER['HTTP_X_FORWARDED_FOR'])) ) {
$_SERVER['HTTPS'] = 'on';
}
Chỉ vậy thôi! Chú ý phải có dòng proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for trong phần cấu hình proxy.