FreeRadius: Error: Received conflicting packet from client

Ошибка возникает когда к радиусу обращается слишком много клиентов, и он не успевает обработать все запросы за время TimeOut.

Решением может служить увеличение времени на повторный запрос ответа от freeradius. Например в mpd за этот параметр отвечает :

set radius timeout 50

wss WebSocket через proxy apache

Возникла необходимость поднять соединение wss Websocket из браузера на странице с протоколом https. Причем сертификат для страницы — самоподписанный. Соответственно при первом заходе на такую страницу, браузер сообщает что страница не небезопасна и т.п. Когда пользователь соглашается, что согласен посетить данную страницу, открывается сайт, и скрипт на сайте пытается установить wss соединение с сервером по тому-же адресу, что и сам сайт. И соответственно не получается, т.к. пользователь страницы не одобрил это не безопасное соединение. Если он откроет в браузере ссылку вида https://websocketserver:8100, и согласится, то соединение будет установлено корректно. Но заставлять пользователя перед работой на сайте открывать еще одну страницу — бред. Можно поступить по другому: не заметно перенаправить соединение вида https://websocketserver/wss/ на ws://websocketserver:8100 . И вуаля — соединение теперь устанавливается без лишних вопросов.
Для того чтобы это всё работало, в настройках апача нужно включить модули: proxy_module и proxy_wstunnel_module. И в настройках сайта соответственно прописать чтото типа:

ProxyPass /chat/ ws://noc.dcedwedwe.ru:8100/
ProxyPassReverse /chat/ ws://noc.dcedwedwe.ru:8100/

Динамическая загрузка скриптов на JavaScript

В том случае если необходимо динамически подгрузить на страницу какие-то скрипты, возможно использовать например прообраз следующего кода:

window.onload=function(){
    if (typeof jQuery == 'undefined') {    
	dhtmlLoadScript("https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
    };
	//проверяем, а подгрузился ли juery?
	var timerId = setInterval(function() {
	    if (typeof jQuery == 'undefined'){
		console.log("--еще не догрузился jquery..ждем..");
	    } else {
		dhtmlLoadScript("http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js");		
		console.log("--вроде jquery загрузился, гружу jquery-ui..");		
		clearInterval(timerId);
		var timerId2 = setInterval(function() {		
		    if (typeof $.ui == 'undefined'){
			console.log("--еще не догрузился jquery-ui..ждем..");
		    } else {
			clearInterval(timerId2);
			console.log("--вроде jquery-ui загрузился, инициализирую чат..");					
			mainchat();
		    };		    
		},1000);		
	    };	    
	}, 1000);	
	
};
function dhtmlLoadScript(url){
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e); 
}

в данном случае в целях кроссбраузерности, используется проверка по таймеру, загрузился код или нет, ибо в файрефоксе идет последовательная загрузка кода, а в хроме паралельная. В связи с чем, может возникать ситуация дальнейшего выполнения кода, при еще не подгруженных скриптах.

10 лет Яртелесервису

Довелось побывать на «корпоративе» — 10 лет Яртелесервису. Мероприятие происходило в Углическом районе,Ярославской области. Утром — сплав на байдарках. Потом пейнтбол, волебол, баня, песни у костра до утра. Палатки, комары. В общем романтека. Очень понравилось. Давно так не расслаблялся и не отдыхал.

Жизнь замечательных грибов