ソースを参照

make it possible to manually override the hostname and protocol if the automatic detection from ownCloud fails. This can happen in reverse proxy situations or with loadbalancers setups.

tags/v5.0.0alpha1
Frank Karlitschek 11年前
コミット
6cb3774706
3個のファイルの変更13行の追加1行の削除
  1. 6
    0
      config/config.sample.php
  2. 6
    0
      lib/request.php
  3. 1
    1
      ocs/providers.php

+ 6
- 0
config/config.sample.php ファイルの表示

@@ -30,6 +30,12 @@ $CONFIG = array(
/* Force use of HTTPS connection (true = use HTTPS) */
"forcessl" => false,

/* The automatic hostname detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */
"overwritehost" => "",

/* The automatic protocol detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the protocol detection. For example "https" */
"overwriteprotocol" => "",

/* Enhanced auth forces users to enter their password again when performing potential sensitive actions like creating or deleting users */
"enhancedauth" => true,


+ 6
- 0
lib/request.php ファイルの表示

@@ -18,6 +18,9 @@ class OC_Request {
if(OC::$CLI) {
return 'localhost';
}
if(OC_Config::getValue('overwritehost', '')<>''){
return OC_Config::getValue('overwritehost');
}
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) {
$host = trim(array_pop(explode(",", $_SERVER['HTTP_X_FORWARDED_HOST'])));
@@ -40,6 +43,9 @@ class OC_Request {
* Returns the server protocol. It respects reverse proxy servers and load balancers
*/
public static function serverProtocol() {
if(OC_Config::getValue('overwriteprotocol', '')<>''){
return OC_Config::getValue('overwriteprotocol');
}
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
$proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']);
}else{

+ 1
- 1
ocs/providers.php ファイルの表示

@@ -23,7 +23,7 @@

require_once '../lib/base.php';

$url='http://'.substr(OCP\Util::getServerHost().$_SERVER['REQUEST_URI'], 0, -17).'ocs/v1.php/';
$url=OCP\Util::getServerProtocol().'://'.substr(OCP\Util::getServerHost().$_SERVER['REQUEST_URI'], 0, -17).'ocs/v1.php/';

echo('
<providers>

読み込み中…
キャンセル
保存