Why Nginx redirect all my https request to a specific subdomain?

时间:2016-08-31 18:20:50

标签: ssl nginx owncloud

After installing Owncloud on my server, on a subdomain (let's say) cloud.motherboard.fr, I have the issue that all my https requests (like https://hey.motherboard.fr) redirect to the following Owncloud page :

while going to https://hey.motherboard.fr

So I guess that my Nginx configuration redirect all https connections to Owncloud. Here is my configuration file :

upstream php-handler {
     server 127.0.0.1:9000;
#    server unix:/var/run/php5-fpm.sock;
}

server {
        listen 80; 
    server_name cloud.motherboard.fr; #YourIP or domain
        return 301 https://$server_name$request_uri;  # redirect all to use ssl
}


server {
        listen 443 ssl;
        server_name cloud.motherboard.fr; #YourIP or domain

        #SSL Certificate you created
        ssl_certificate /etc/nginx/cert/owncloud.crt; 
        ssl_certificate_key /etc/nginx/cert/owncloud.key;

        # owncloud path
        root /var/www/cloud/owncloud/;

        client_max_body_size 10G; # set max upload size
        fastcgi_buffers 64 4K;

        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

        index index.php;
        error_page 403 /core/templates/403.php;
        error_page 404 /core/templates/404.php;

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
                deny all;
        }

        location / {
                # The following 2 rules are only needed with webfinger
                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

                rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

                try_files $uri $uri/ index.php;
        }

        location ~ ^(.+?\.php)(/.*)?$ {
                try_files $1 = 404;

                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$1;
                fastcgi_param PATH_INFO $2;
                fastcgi_param HTTPS on;
                fastcgi_pass php-handler;
        }

        # Optional: set long EXPIRES header on static assets
        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                # Optional: Don't log access to assets
                access_log off;
        }
}

It looks like it comes from the two first server block, but I didn't managed to change it. Can it have a link with php-pfm ? My hey.motherboard.fr configuration is pretty simple :

server {
    server_name hey.motherboard.fr;

    location / {
        root /var/www/hey;
        index index.html index.htm;
    }
}

0 个答案:

没有答案