PHP应用程序(Owncloud)页面请求不正确的资产path

我有一个VPS设置与PHP的FMP和Nginx的(与SSL)。 我已经build立了Tiny Tiny RSS,而且工作得很好。 不过,我最近试图创build自己的云,并立即遇到了障碍。

我访问了索引页面进行初始设置,完全没有样式。 我看着Firefox的控制台,看到几个404错误。 仔细观察,我发现所有通往资产的途径都是错误的。 它没有要求http://mydomain.com/owncloud/some/important/component.js ,而是要求http://mydomain.com/usr/share/nginx/html/owncloud/some/important/component.js 。

这似乎是PHP在处理页面时出错了。 我用Tiny Tiny RSS没有这个问题,所以我认为它跟Owncloud的写法有关。

我假设有一个php.ini键我必须改变。 有任何想法吗?

以下是我的服务器块的内容:

listen 443 ssl; ssl_certificate /var/ssl/secret/sauce.key ssl_certificate_key /var/ssl/secret/sauce.key; server_name localhost 127.0.0.1 mydomain.com; root /usr/share/nginx/html; index index.html index.htm index.php; client_max_body_size 1000M; location / { try_files $uri $uri/ @webdav =404; } location ~ \.php$ { include fastcgi_params; fastcgi_index index.php; try_files $1 = 404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS on; fastcgi_pass 127.0.0.1:9000; } location ~ ^/owncloud/(data|config|\.ht|db_structure\.xml|README) { deny all; } location @webdav { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS on; include fastcgi_params; } 

我意识到,这不是Owncloud文档build议的完整configuration,但我通常喜欢获得最低限度的工作configuration,并学习如何进行一切工作。 回顾我遗漏的configuration选项,似乎没有任何影响php处理,所以我假设没有问题。 否则,我想知道我错过了什么nginx指令,为什么它很重要。

我假设有一个php.ini键我必须改变。 有任何想法吗?

不,您的应用程序可能configuration错误 – Owncloud的PHP正在生成这些path。 确保在Owncloud中正确configuration了URLpath。

为owncloud创build一个新的虚拟主机,只编辑根和上游(无论是袜子还是端口),我已经有一个运作的owncloud服务器,它工作正常。

Nginxconfiguration为owncloud

replaceupstreamroot线和server

我假设你知道如何创build一个虚拟服务器,如果不告诉我,我也可以提供一个解释。

编辑

关于ssl,一个IP和一个虚拟服务器:

不是真的,这取决于你的SSL购买什么,如果它是一个单一的域SSL(如example.comstore.example.com ,你可以在同一IP上拥有尽可能多的网站,但SSL只会除非你购买了一个通配符SSL,否则它可能支持*.example.com

无论如何,在我的服务器上也有SSL,只有domain.comwww.domain.com ,我用在我的云服务器上,云托pipe在cloud.domain.com ,唯一的缺点是,你得到的黄页警告,因为域不匹配的SSL购买的,我告诉浏览器忽略该警告,并保存exception,这就是它,同样的同步客户端,它告诉我,如果我想忽略警告或不,它工作得很好。

如果你不想面对这个警告,那么你需要在同一个虚拟主机下创build自己的云服务器,不是因为IP,而是因为SSL购买的名字。

告诉我你想要什么,我会帮你。