Yii behind a reverse proxy, SSL support and correct IP logging

If you are hosting Yii behind a reverse proxy, for example nginx, and you are having issues with your logs showing the proxies IP, or the urls being created arn't being created for SSL because your SSL certs are located on your reverse proxy instead of the Yii server, this code may be able to help you. I placed them in the very top of Yii's entry script, index.php

$_SERVER['SERVER_PORT'] = 443;
$_SERVER['HTTPS'] = 'on';
if(isset($_SERVER['HTTP_X_REAL_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];

Make sure your reverse proxy added the HTTP_X_REAL_IP header to the request. There is much documentation on this all over the web.

0 0
2 followers
Viewed: 17 840 times
Version: 1.1
Category: Tips
Written by: mrkmg
Last updated by: mrkmg
Created on: Jul 30, 2012
Last updated: 11 years ago
Update Article

Revisions

View all history