Ваяс,
Это не проблема Node.JS, так устроен
XMLHttpRequest (ajax) в браузере.
1. Запрос с site1 на site2 очевидно что кросс-доменный, для таких запросов site2 должен отвечать заголовком доступа
Access-Control-Allow-Origin.
2. Сессии живут в куках, по умолчанию кросс-доменные запросы куки не передают, запрос нужно конфигурировать
withCredentials, дополнительно для таких запросов site2 должен отвечать заголовком доступа
Access-Control-Allow-Credentials.
// jquery-нотация
$.ajax({
//...
xhrFields: {
withCredentials: true
}
});
Как формировать заголовки ответа смотри документацию по используемому модулю Node.JS.
Спасибо, посмеялся)