mirror of https://github.com/nextcloud/server.git
add multiple domains reverse proxy support
Add support for a reverse proxy that handles multiple domains via different web roots (http[s]://proxy.tld/domain.tld/owncloud). As the reverse proxy web root is transparent for the web server the REQUEST_URI and SCRIPT_NAME need manual adjustments. This patch replace the direct use of this _SERVER variables with function calls and extend this functions to overwrite the web root. Additionally it adds a Sabre request backend that extends the Sabre_HTTP_Request to use the same functions.remotes/origin/stable5
parent
411e8e5218
commit
ab2b79cda6
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* ownCloud
|
||||
*
|
||||
* @author Stefan Herbrechtsmeier
|
||||
* @copyright 2012 Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
class OC_Connector_Sabre_Request extends Sabre_HTTP_Request {
|
||||
/**
|
||||
* Returns the requested uri
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUri() {
|
||||
return OC_Request::requestUri();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a specific item from the _SERVER array.
|
||||
*
|
||||
* Do not rely on this feature, it is for internal use only.
|
||||
*
|
||||
* @param string $field
|
||||
* @return string
|
||||
*/
|
||||
public function getRawServerValue($field) {
|
||||
if($field == 'REQUEST_URI'){
|
||||
return $this->getUri();
|
||||
}
|
||||
else{
|
||||
return isset($this->_SERVER[$field])?$this->_SERVER[$field]:null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue