Имеется:
Сервер 1, на котором развернут Nextcloud (смотрит в интернет, на нем же nginx)
Сервер 2, на котором развернут Onlyoffice (в докере, стандартным скриптом установки)
Оба сервера в одной сети.
Для каждого сервиса есть свое доменное имя. Разруливает все nginx. Конфиг:
upstream docservice {
server локальный ип офиса;
}
map $http_host $this_host {
"" $host;
default $http_host;
}
map $http_x_forwarded_proto $the_scheme {
default $http_x_forwarded_proto;
"" $scheme;
}
map $http_x_forwarded_host $the_host {
default $http_x_forwarded_host;
"" $this_host;
}
map $http_upgrade $proxy_connection {
default upgrade;
"" close;
}
map $request_uri $header_x_frame_options {
~*^/(ds-vpath|favicon\.ico|products\/files\/share\.aspx|products\/files\/saveas\.aspx|products\/files\/filechoice\.aspx|products\/files\/doceditor\.aspx|thirdparty\/plugin) "";
default "SAMEORIGIN";
}
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
server {
server_name поддоменNC.домен;
access_log /var/log/nginx/-access.log;
error_log /var/log/nginx/-error.log;
client_max_body_size 0;
#уже не знаю куда вставить:
location ~* ^/ds-vpath/ {
rewrite /ds-vpath/(.*) /$1 break;
proxy_pass http://локальный ип офиса;
proxy_redirect off;
client_max_body_size 100m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $the_host/ds-vpath;
proxy_set_header X-Forwarded-Proto $the_scheme;
}
location / {
proxy_pass http://локалхост:8080; #апач доразруливает
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/*/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/*/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
server_name поддоменОО.домен;
access_log /var/log/nginx/-access.log;
error_log /var/log/nginx/-error.log;
server_tokens off;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/*/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/*/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
root /usr/share/nginx/html;
ssl_verify_client off;
ssl_session_cache builtin:1000 shared:SSL:10m;
location / {
proxy_pass http://локальный ип офиса;
# proxy_set_header Host $host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
}
}
При попытке открыть документ в Nextcloud, браузер выдает Отказано в подключении к сайту, и в консоли появляется ошибка:
Загрузка «*/ds-vpath/7.2.0-204/web-apps/apps/documenteditor/main/index_loader.html?_dc=7.2.0-204&lang=ru&customer=ONLYOFFICE&frameEditorId=iframeEditor&compact=true&parentOrigin=*&uitheme=theme-classic-light» во фрейме запрещена директивой «X-Frame-Options», установленной в «SAMEORIGIN».
На сервере офиса nginx не установлен. (в образах он вроде есть, но там настроек я не нашел)
В связи с этим вопрос:
Что и куда нужно прописать, чтобы документы открывались в Nextcloud?