Andriy
Вот мой сервер:
Andriy
Artem
ssl ты где подключил?
Andriy
Не подключал еще
Andriy
Он у меня подключен в NGINX
Andriy
У меня приложение на PHP, а node используется только для socket через Redis
Georgiy
ну ходи так же через nginx в https
Andriy
Andriy
Мне нужно просто поднять сервер не на http, а на https
Andriy
Как это сделать?
Artem
ssl подключи на ноде
Alex
не надо подключать ssl на ноде. прокинь его с nginx. В proxy_pass добавить надо
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Eldar
+1 за Nginx
Alex
https://www.nginx.com/blog/websocket-nginx/
Andriy
У меня приложение на PHP крутится и оно через NGINX подымается с SSL, а нод сервер крутится через pm2 в процессе
Andriy
Походу тут надо подключать ssl напрямую к ноде
Eldar
По другому домену, другому сертификату (или тому же сертификату)
Andriy
Sergey
Sergey
Alex
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04
Andriy
Andriy
На одном домене?
Dmytro
+
Andriy
как я понимаю
Dmytro
ты можешь с помощью роута и nginx настроить
Eldar
На одном домене?
Да можешь. Внутри Nginx ты можешь разруливать всякие штуки, типа:
:80 :443
/somenodepath - должен вести на Nginx
/ - и все остальные пути на PHP
:3030 - должно вести все пути на GoLang специфичную ручку в блекджеком и хомяками
Eldar
Nginx как пилюля от всего! От проблем и от жизни тоже! (иногда можно выстрелить в ногу)
Dmytro
кстати
Dmytro
интересно почему я использую nginx
Dmytro
а не Apache?
Dmitry
нет
Dmitry
))))
Dmytro
разные задачи решают
Eldar
Холиварная тема
Eldar
Ой да ладно разные
Dmytro
ты же спрашиваешь про меня
Dmitry
вот интересный вопрос, кто-нибудь Nginx Unit уже пользовал с нодой?
Dmytro
вот я тебе и отвечаю)
Eldar
вот я тебе и отвечаю)
Это у тебя вопрос с подвохом был? Типа почему я в жизни свернул не туда? Ну тогда хз, это надо к психологу
Eldar
А так Nginx vs Apache старый холивар
Dmytro
у меня нода эта агрегатор
Dmytro
понял)
Eldar
Dmitry
эм, не понял
Eldar
Я не знал что есть Nginx Unit ;D
Dmitry
да ладно) с виду очень крутая (легковесная) штука, но нужен положительный опыт
Eldar
Что-то у Nginx продуктов выросло прилично, парни молодцы оО
Dmitry
это да
Eldar
Nginx Plus правда дороговат
Eldar
"Хочешь дешево, ебись сам" (С) Голос рынка
Dmitry
> Full support for Go, PHP, and Python; Java and Node.js support coming soon
Dmitry
так что пока отдыхаем.
Eldar
Ну у них ведь там консультанты по архитектуре, там саппорт наверное это больше чем просто тех поддержка
Eldar
Это настоящие админы
Eldar
Курсы по Nginx кусаются по цене =( Понимание ядра 750$, load balancing 4h course - 350$
Dmitry
у меня админ хороший был, научил всему что сам знает
Andriy
Народ, помогите)
Dmitry
+ сейчас есть docker (docker-compose/swag) они очень хорошо помогают с балансировкой и настройкой
Maksim
Maksim
Пробегаться по всем данным придется
Maksim
Я БД и собираюсь юзать, но там же я буду сохранять данные как и в джсе
Maksim
Или там можно как-то выдернуть данные за определенный промежуток времени?
Maksim
Щас думаю юдать mongoDB
Pavel
Ребят, а какие недостатки есть у N-layer архитектуры ?
Dmitry
Andriy
ребятя, подскажите пожалуйста. Вот мой конфиг сервера node:
Andriy
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('/etc/letsencrypt/live/hungryseason.com/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/hungryseason.com/cert.pem'),
ca: fs.readFileSync('/etc/letsencrypt/live/hungryseason.com/chain.pem')
};
var app = https.createServer(options);
var io = require('socket.io')(app);
var Redis = require('ioredis');
var redis = new Redis();
redis.subscribe('App.Chat');
redis.subscribe('App.Chat.Reads');
redis.subscribe('App.Task');
redis.subscribe('App.Task.Changed');
redis.on('message', function(channel, message) {
message = JSON.parse(message);
if (channel === 'App.Chat') {
io.emit(channel + ':message:' + message.receiver_id, message);
io.emit(channel + ':message:' + message.creator_id, message);
}
else if (channel === 'App.Chat.Reads') {
io.emit(channel + ':seen:' + message.receiver_id, message);
io.emit(channel + ':seen:' + message.creator_id, message);
}
else if(channel === 'App.Task') {
io.emit(channel+':message:'+message.campaign_participant_id,message);
}
else if(channel === 'App.Task.Changed') {
io.emit(channel+':user:'+message.user_id+':task-participant:'+message.task_participant_id+':task:'+message.task_id
,message);
}
});
Andriy
Andriy
Ошибка в консоли:
сomorsiс
со стороны клиента мб на хттп стучишься
Andriy
Anonymous
https -> http, тут ошибка
Sergey
Если сайт на https, то запросы слать можно тоже только по https