Показаны сообщения с ярлыком https. Показать все сообщения
Показаны сообщения с ярлыком https. Показать все сообщения

вторник, 6 сентября 2016 г.

PHP on apache and nginx ssl termination

Боль, печаль: https://github.com/joomla/joomla-cms/issues/8970

Если php-приложение интерпретируется apache’ом, находится за реверс-прокси, терминирующим SSL (nging/haproxy), и не может нормально работать (генерировать нормальные url’ы) из-за того что опирается на переменную $_SERVER['HTTPS'], то это можно попробовать исправить выставлением соответствующей переменной окружения. На самом деле беда может быть не только с php-приложением ;)

Кусочек конфига apache, в зависимости от конфигурации и разрешений, можно добавить в .htaccess или конфиг хоста/apache:

LoadModule setenvif_module modules/mod_setenvif.so
<IfModule setenvif_module>
    SetEnvIf X-Forwarded-Proto https HTTPS=on
</IfModule>

Кусок конфига nginx, поместить в секцию с proxy_pass:

proxy_set_header X-Forwarded-Proto $scheme;

Кусок конфига haproxy (не тестировался, на основе документации, ssl_fc):

http-request set-header X-Forwarded-Proto https if { ssl_fc }

Судя по документации, у haproxy есть несколько методов управлять заголовками:

среда, 10 сентября 2014 г.

HTTPS и APT

Добавил, я значит, репозиторий с https, а мне выдало "The method driver /usr/lib/apt/methods/https could not be found"
Оказывается, чтобы в debina-based дистрах можно было ходить за пакетами по https нужно установить отдельный пакет:
sudo apt-get install apt-transport-https

пятница, 30 апреля 2010 г.

Отключение проверки SSL сертификата в Groovy

def init = {servletContext ->
// Disable certificate verification
def trustManagerMethods = [
getAcceptedIssuers: { null },
checkClientTrusted: {a, b -> },
checkServerTrusted: {a, b -> }
]

def hostnameVerifierMethods = [
verify: {a, b -> true }
]

def trustManager = ProxyGenerator.instantiateAggregate(trustManagerMethods, [X509TrustManager])
TrustManager[] trustAllCerts = (TrustManager[]) [trustManager]

// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL")

def hostnameVerifier = ProxyGenerator.instantiateAggregate(hostnameVerifierMethods, [HostnameVerifier])
HostnameVerifier hv = (HostnameVerifier) hostnameVerifier

sc.init(null, trustAllCerts, new java.security.SecureRandom())
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory())
HttpsURLConnection.setDefaultHostnameVerifier(hv)
}


Взято тут: http://groovy-grails.blogspot.com/2009/07/javaxnetsslsslhandshakeexception.html