remote_addr будет ссылаться на прокси-сервер, но вы можете настроить прокси для отправки адреса клиента с полями заголовка X-Real-IP / X-Forwarded-For.
В сочетании с ngx_http_realip , вы можете изменить входящий заголовок, чтобы использовать реальный адрес клиента для remote_addr. Я считаю, что это будет работать так, как ожидалось, с синтаксисом allow / deny.
Просто для пояснения - синтаксис allow / deny должен быть идентичным после включения и настройки модуля. Подставьте свой IP-адрес и ваши прокси-адреса ниже.
Back-end nginx allow / deny:
location / {
allow ;
allow 127.0.0.1;
deny all;
}
Резервная конфигурация nginx realip:
set_real_ip_from ;
real_ip_header X-Forwarded-For;
В конфигурации вашего nginx-прокси:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Если у вас несколько промежуточных прокси-серверов, вам нужно включить дополнительные адреса real_ip_recursive и whitelist с помощью директивы set_real_ip_from.
Если вы управляете загружаемыми изображениями, то самый легкий загрузчик, который я знаю, - это потрясающий stb_image.c Шона Барретта (прямая ссылка на исходный код одного файла!).
На сайте Шона есть и другие очень полезные библиотеки, такие как крошечный растеризатор TrueType и декомпрессор Vorbis, кстати.
Если вам нужна загрузка изображений OpenGL с использованием stb_image, я смиренно укажу вам на SOILex ...
ImageMagick имеет API C для соединения с его библиотеками . Существует также, что они называют "интерфейс низкого уровня" между C и библиотеками ImageMagick .
Я использовал FreeImage для игр PSP в прошлом, но это было для предварительной обработки данных, а не в игре.
DevIL часто рекомендуется. Делает ли это то, что Вы хотите, я не знаю.
Я буду предложение ImageMagick второго Thomas Owens. Это является ошеломляющим, насколько всесторонний библиотека, и сколько времени это экономит Вас в конце.
Здесь некоторый код, который я записал для обработки изображений. Это находится в C++ (не c), но необходимо быть в состоянии легко извлечь BMP и код загрузки GIF. Это лицензировало LGPL.
я использую libpng и jpeglib для распаковки тех форматов.