AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1418939
Accepted
psky
psky
Asked: 2019-03-30 00:03:16 +0800 CST2019-03-30 00:03:16 +0800 CST 2019-03-30 00:03:16 +0800 CST

Nextcloud share não funciona no proxy reverso nginx

  • 772

Eu tenho um proxy reverso nginx configurado bem com a imagem jwilder e letsencrypt. Tudo funciona bem e tenho vários contêineres funcionando conforme o esperado.

No entanto, agora criei um contêiner nextcloud em um dos meus servidores de desenvolvimento e não posso usá-lo para compartilhar arquivos com o outro contêiner nextcloud no servidor de estágio que possui as mesmas configurações.

O erro que vejo é Failed to perform actionquando aceito o arquivo compartilhado. e quando verifico o login no console, vejo

Refused to connect to 'http://dev.domain.com/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending/2' because it violates the following Content Security Policy directive: "connect-src 'self'".

eu tenho lido por aí por um tempo. e eu encontrei isso no site oficial do documento, mas não consigo fazer isso funcionar. o nextcloud tem ssl, mas quando eu compartilho parece que é servido com http. Eu sei que isso tem algo a ver com o proxy reverso, mas não tenho certeza se sei como resolver isso ainda.

Qualquer ajuda é bem vinda.

Observação

usando

imagem: nextcloud:latest

imagem: mariadb

imagem: jwilder/nginx-proxy:0.7.0

imagem: jrcs/letsencrypt-nginx-proxy-companion

nginx letsencrypt reverse-proxy
  • 1 1 respostas
  • 803 Views

1 respostas

  • Voted
  1. Best Answer
    Kabengwa Patrick
    2019-06-13T04:26:46+08:002019-06-13T04:26:46+08:00

    o que descobri que funciona para mim é usar um contêiner nginx na frente do contêiner nextcloud, ambos atrás de um proxy. Para que funcione, você também precisará adicionar seu próprio nginx.conf. um arquivo ymal como este.

    version: '2'
    services:
      web:
        image: nginx
        container_name: nextcloud_webserver
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf:ro
        links:
          - app
        volumes_from:
          - app
        environment:
          - VIRTUAL_HOST=nextcloud_url
          - VIRTUAL_NETWORK=nextcloud_network
          - VIRTUAL_PORT=80
          - LETSENCRYPT_HOST=nextcloud_url
          - LETSENCRYPT_EMAIL=uremailforthe
        networks:
          - proxy-tier
        restart: unless-stopped
    
      app:
        image: nextcloud:fpm
        container_name: nextcloud_app
        links:
          - db
        volumes:
          - ./nextcloud/apps:/var/www/html/apps
          - ./nextcloud/config:/var/www/html/config
          - ./nextcloud/data:/var/www/html/data
        networks:
          - proxy-tier
        restart: unless-stopped
    
      db:
        image: mariadb
        container_name: db
        volumes:
          - ./db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=urpassword
          - MYSQL_DATABASE=urdbname
          - MYSQL_USER=mysqluser
          - MYSQL_PASSWORD=mysqluserpassword
        networks:
          - proxy-tier
        restart: unless-stopped
    
    networks:
      proxy-tier:
        external:
          name: nextcloud_network
    
    

    Em seguida, adicione o seguinte arquivo nginx ao mesmo local em que você executa o arquivo docker-compose up.

    user www-data;
    
        events {
    
         worker_connections 768;
        }
        ​
        http {
         upstream backend {
           server app:9000;
         }
         include /etc/nginx/mime.types;
         default_type application/octet-stream;
        ​
         server {
          listen 80;
        ​
          # Add headers to serve security related headers
          add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
          add_header X-Content-Type-Options nosniff;
          add_header X-XSS-Protection "1; mode=block";
          add_header X-Robots-Tag none;
          add_header X-Download-Options noopen;
          add_header X-Permitted-Cross-Domain-Policies none;
        ​
          root /var/www/html;
          client_max_body_size 10G; # 0=unlimited - set max upload size
          fastcgi_buffers 64 4K;
        ​
          gzip on;
          gzip_vary on;
          gzip_min_length 10240;
          gzip_proxied expired no-cache no-store private auth;
          gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
          gzip_disable "MSIE [1-6]\.";
        ​
          index index.php;
          error_page 403 /core/templates/403.php;
          error_page 404 /core/templates/404.php;
        ​
          rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
          rewrite ^/.well-known/caldav /remote.php/dav/ permanent;
        ​
          location = /robots.txt {
           allow all;
           log_not_found off;
           access_log off;
          }
        ​
          location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ {
           deny all;
          }
        ​
          location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
           deny all;
          }
        ​
          location / {
           rewrite ^/remote/(.*) /remote.php last;
           rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
           try_files $uri $uri/ =404;
          }
        ​
          location ~ \.php(?:$|/) {
           fastcgi_split_path_info ^(.+\.php)(/.+)$;
           include fastcgi_params;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           fastcgi_param PATH_INFO $fastcgi_path_info;
           fastcgi_param HTTPS on;
           fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
           fastcgi_pass backend;
           fastcgi_intercept_errors on;
          }
        ​
          # Adding the cache control header for js and css files
          # Make sure it is BELOW the location ~ \.php(?:$|/) { block
          location ~* \.(?:css|js)$ {
           add_header Cache-Control "public, max-age=7200";
           # Add headers to serve security related headers
           add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
           add_header X-Content-Type-Options nosniff;
           add_header X-Frame-Options "SAMEORIGIN";
           add_header X-XSS-Protection "1; mode=block";
           add_header X-Robots-Tag none;
           add_header X-Download-Options noopen;
           add_header X-Permitted-Cross-Domain-Policies none;
           # Optional: Don't log access to assets
           access_log off;
          }
        ​
          # Optional: Don't log access to other assets
          location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
           access_log off;
          }
         }
        ​
        }
    
    
    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve