Proxy reverso NGINX Apache rodando na porta 8080 com o própriocloud

1

Eu tenho o nginx rodando como meu servidor principal. Eu instalei o owncloud com o apache rodando na porta 8080. Eu sei que o owncloud tem suporte não-oficial da comunidade para o nginx, mas eu prefiro manter o suporte oficial.

Meu problema atual é que o proxy reverso não parece estar funcionando como pretendido. Ele continua carregando meu site padrão. Meu site é executado através do cloudflare com um certificado SSL flexível para HTTPS.

No entanto, posso ir para xxx.xxx.xxx.xxx:8080 e acessar o owncloud diretamente.

Configuração principal do nginx

user www-data;

worker_processes 2;
worker_rlimit_nofile 20480;

pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events
{
    worker_connections 768;
    #    multi_accept            on;
}

http
{
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;
    types_hash_max_size 2048;
    server_tokens off;

    #    log_format            main '$remote_addr - $remote_user [$time_local] "$request" $status  $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
    log_format main 'xx.xx.xx.xx - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "xx.xx.xx.xx"';

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";

    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    proxy_cache_path /tmp/nginx-filecache levels=1:2 keys_zone=FILES:10m inactive=7d max_size=800g;

    #include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


}

Configuração Nginx para o apache

server {
    listen 80;
    listen 443 ssl;
    server_name gomn.net;

    root /var/www/owncloud;
    index index.php index.htm index.html;

    location / {
        try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $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-Proto $scheme;
    }

    location ~ /\. {
        deny all;
    }
}

Esta é a minha configuração do apache para o owncloud

<VirtualHost *:8080>

    DocumentRoot /var/www/owncloud
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost/"
    </FilesMatch>

    <Directory /var/www/owncloud/>
        Options +FollowSymlinks
        AllowOverride All

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/owncloud
        SetEnv HTTP_HOME /var/www/owncloud

    </Directory>
    <Directory /var/www/owncloud/data/*/>
        Allow from None
        Order allow,deny
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    
por Ryahn 08.08.2017 / 10:41

1 resposta

2

Quando o Nginx é seu servidor principal, por que você usa o Apache? O Owncloud roda bem com o Nginx (sem o Apache).

Você tem que configurar o Nginx para usar seu Apache como desenvolvedor e não dentro do seu local .php.

Tente algo como:

upstream owncloud {
  server localhost:8080;
}

server {
  location / {
    proxypass http://owncloud;
  }
}

Para mais informações, consulte documentação do upstream do nginx

    
por 08.08.2017 / 11:31