Я создаю TCP-модуль Nodejs, серверно-клиентское приложение для отправки данных через сокеты tcp. У меня этот модуль работает на моем локальном хосте без проблем, но когда я отправляю данные с моего локального хоста на удаленный сервер, он не работает. Я получаю странные результаты, потому что я вижу заголовок своих данных в журналах доступа nginx, поэтому я знаю, что данные передаются, но мое серверное приложение не сохраняет данные, как ожидалось. Я явно что-то упускаю. Я пытался поиграться с IP-адресами и несколькими файлами nginx-conf, которые нашел в сети, но безуспешно. Я не уверен, нужно ли мне открывать порт или манипулировать брандмауэром, но я очень ценю любую помощь. Вот приложение node и мои файлы nginx.conf.
TCP-клиентское приложение
/* Dependencies */
var server_external_ip = '77.77.77.277'
var fs = require('fs');
var hl7 = require('simple-hl7');
/* Build TCP Server */
var server = hl7.Server;
var tcpClient = server.createTcpClient();
/* Connection */
tcpClient.connect('127.0.0.1', 6969);
/* Get XML */
var msg = fs.readFileSync('./data/example.xml').toString();
/* Send Message */
setTimeout(function() {
tcpClient.send(msg, function(ack) {
console.log("ACK: ",ack.toString());
console.log("\nsuccessful transfer");
tcpClient.close();
});
}, 500);
сервер можно найти здесь, нажмите здесь но вот код конфигурации..
/*
Config class
vars:
baseFolder: Where to save the messages
port : What port to listen on
ip : what ip to listen on
*/
var Config = new function() {
this.baseFolder = "data";
this.port = 6969;
this.ip = '127.0.0.1';
}
вот nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
в каталоге с поддержкой моих сайтов
upstream backend_nodejs {
# hash $remote_addr consistent;
server 192.168.1.41:9696;
keepalive 512;
}
server {
listen 80;
client_max_body_size 16M;
keepalive_timeout 10;
location / {
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://backend_nodejs;
}
}
и, наконец, вот пример моего журнала доступа к nginx
xx.xx.xx.123 - - [11/Mar/2016:16:18:27 -0800] "Connection Established" 400 172 "-" "-" "-"