Fix media proxy auth origin forwarding
This commit is contained in:
@@ -108,7 +108,7 @@ ProxyPassReverse /listen/8000/ http://127.0.0.1:8000/
|
||||
|
||||
`deploy/php/media_proxy.php` is copied into your publish directory by `deploy_client.sh`.
|
||||
|
||||
When `server/.env` contains `CHGRID_HOST_ORIGIN`, `deploy_client.sh` also generates `media_proxy.config.php` in the publish directory so the proxy can enforce the same origin and validate authenticated sessions without extra Apache-specific config. The generated file derives the local auth-check URL from `server/config.toml`, so custom signaling ports continue to work.
|
||||
When `server/.env` contains `CHGRID_HOST_ORIGIN`, `deploy_client.sh` also generates `media_proxy.config.php` in the publish directory so the proxy can enforce the same origin and validate authenticated sessions without extra Apache-specific config. The generated file derives the local auth-check URL from `server/config.toml`, so custom signaling ports continue to work, and the proxy reuses `CHGRID_HOST_ORIGIN` for its internal auth check.
|
||||
|
||||
If you deploy the PHP proxy some other way, you can still provide `CHGRID_HOST_ORIGIN` directly through your PHP/web-server environment.
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ function load_proxy_session_check_url()
|
||||
return $value;
|
||||
}
|
||||
|
||||
function require_valid_proxy_session($sessionCheckUrl)
|
||||
function require_valid_proxy_session($sessionCheckUrl, $allowedOrigin)
|
||||
{
|
||||
$cookieHeader = isset($_SERVER['HTTP_COOKIE']) ? trim((string) $_SERVER['HTTP_COOKIE']) : '';
|
||||
if ($cookieHeader === '') {
|
||||
@@ -216,6 +216,7 @@ function require_valid_proxy_session($sessionCheckUrl)
|
||||
array(
|
||||
'Cookie: ' . $cookieHeader,
|
||||
'X-Chgrid-Auth-Client: 1',
|
||||
'Origin: ' . $allowedOrigin,
|
||||
)
|
||||
);
|
||||
|
||||
@@ -521,7 +522,7 @@ if ($method !== 'GET' && $method !== 'HEAD') {
|
||||
send_text(405, 'method not allowed');
|
||||
}
|
||||
|
||||
require_valid_proxy_session($sessionCheckUrl);
|
||||
require_valid_proxy_session($sessionCheckUrl, $allowedOrigin);
|
||||
|
||||
$rawUrl = isset($_GET['url']) ? trim((string) $_GET['url']) : '';
|
||||
if ($rawUrl === '') {
|
||||
|
||||
Reference in New Issue
Block a user