Nextcloud ve ONLYOFFICE editörleri için ters proxy yapılandırma
Giriş
Birden fazla sunucu çözümü farklı makinelere kurulduğunda proxy sunucusunu yapılandırırken sorun çıkabilir.
Bu örnekte şunların kurulu olduğu üç ayrı makine vardır:
- nginx — http://nginx,
- Nextcloud — http://nextcloud,
- ONLYOFFICE editörleri — http://onlyoffice.
Her şey Docker ve 80 numaralı bağlantı noktası kullanılarak kuruldu.
Doğru bağlantıyı kurmak için şu işlemler yapılmalıdır:
- http://nginx adresine gelen isteğin Nextcloud'u açması için nginx'in özelleştirilmesi,
- Nextcloud'un http://nginx/editors/ adresindeki belge editörleriyle çalışacak şekilde özelleştirilmesi.
nginx, Nextcloud ve ONLYOFFICE Docs için proxy sunucusunu doğru yapılandırmayı öğrenmek üzere bu makaleyi okuyun.
Adım 1. Nextcloud için proxy ayarlama
Nextcloud'u nginx üzerinden proxy'lemek için nginx ayarlarını değiştirin ve nginx adresini Nextcloud güvenilir alan adları listesine ekleyin.
Gerekli ayarlar nginx kapsayıcısında /etc/nginx/conf.d/default.conf dosyasındadır. Bu dosyayı şu hale getirin:
server {
listen 80;
location / {
proxy_pass_header Server;
proxy_pass http://nextcloud/;
}
}
proxy_pass yolunun sonundaki eğik çizgiye dikkat edin.
nginx ayarlarını şu komutla yenileyin:
service nginx reload
Şimdi http://nginx alan adını ekleyin. Nextcloud kapsayıcısında /var/www/html/config/config.php dosyasındaki yapılandırmayı açın. Burada trusted_domain bölümünü bulun veya ekleyin ve nginx adresini ekleyin. Tüm değişiklikler geçerli olduktan sonra yapılandırmanın bu kısmı şöyle görünür:
'trusted_domain' => (0 => 'nextcloud', 1 => 'nginx')
Adım 2. Belge editörleri için proxy ayarlama
nginx sunucusunda yine default.conf dosyasını açın ve bir konum daha ekleyin
location /editors/ {
proxy_pass http://onlyoffice/;
}
Ancak bu, editörlerin çalışması için yeterli olmaz. Belge editörü varsayılan olarak kaynaklara giden bağlantıları, istekle gelen adresi kullanarak oluşturur. Editör proxy sunucusuna bağlı olmadığından, bağlantıları sanal yoldan bağımsız olarak oluşturur (ör. http://nginx/apps/files/). Bu doğru değildir, çünkü /apps/files/ yolu http://onlyoffice/ sunucusunda bulunur.
Bunu düzeltmek için istek başlığında, bağlantıların oluşturulacağı yolu "X-Forwarded-Host" başlığıyla belirtmeniz gerekir.
Aşağıdaki kodu yapılandırma dosyasının başına ekleyin:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $http_host/editors;
server {
listen 80;
location / {
proxy_pass_header Server;
proxy_pass http://nextcloud/;
}
location /editors/ {
proxy_pass http://onlyoffice/;
}
}
Adım 3. ONLYOFFICE-Nextcloud bağlayıcısını kurma
ONLYOFFICE ve Nextcloud örneklerini birbirine bağlamak için hazır bağlayıcımızı kullanın. Bağlayıcı GitHub üzerinde bulunur, ancak en kolay yol onu Nextcloud uygulama mağazasından kurmaktır.
Kurulumdan sonra ayarlar menüsünde yeni bir seçenek göreceksiniz. Burada ONLYOFFICE editörlerinin adresini belirtmeniz gerekir — http://nginx/editors/.