Untuk menyelesaikan pementasan pbs, saya bekerja secara lokal dengan nama domain produksi sebenarnya, tetapi di belakang proxy, sehingga instalasi drupal dan konfigurasi server web benar-benar identik (pada beberapa konfigurasi, mendengarkan IP mungkin berbeda, tergantung pada mendengarkan ip di produksi).
Jadi, saya punya proxy yang merespons untuk http: //mydomain.local , proxy ke http: //www.mydomain.tld , tetapi pada IP lokal.
Dengan nginx, di conf vhost lokal:
server_name mydomain.local;
set $proxied_server_name www.mydomain.tld;
set $proxied_cookie_domain mydomain.tld;
# then generic proxy conf
proxy_set_header Host $proxied_server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# My param added for drupal absolute url construction
proxy_set_header X-Proxy-Host $host;
# For headers rewriting (Location or Refresh)
proxy_redirect http://$proxied_server_name/ http://$host/;
proxy_cookie_domain $proxied_server_name $host;
# and for drupal auth, with cookies without sub-domain
proxy_cookie_domain $proxied_cookie_domain $host;
Untuk vhost proksi, seperti dalam produksi
server_name www.mydomain.tld;
Dan di setting.php saya
if (isset($_SERVER['HTTP_X_PROXY_HOST'])) {
$base_url = 'http://' .$_SERVER['HTTP_X_PROXY_HOST'];
}
Dengan conf ini, saya dapat menyinkronkan semua file drupal DAN database DAN konfigurasi server antara banyak instalasi drupal (dev dan produksi dalam kasus saya tetapi bisa apa saja yang Anda inginkan).