Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have several linux instances on EC2 and 1 windows for specialized processing.

QUESTION: What is the fastest, secure way to send data from linux to windows internally?

a http request? open a port, if so which one?

the final step is for the windows machine to send the finished process (which will be an image) to S3.

share|improve this question
What type of data are you sending? How will the data be processed on the receiving end? – Matt Houser May 30 '12 at 15:39
the data will be a string going into windows then windows will output a image – t q May 30 '12 at 15:44
up vote 1 down vote accepted

Since you're accepting string data in Windows, the simplest way is to create a website hosted under IIS using the framework of your choice (ASP.NET, PHP, etc.)

Open port 80 in your windows security group to accept connections only from your linux boxes. This prevents others from connecting to your windows box.

If you want to encrypt the data, then you can either encrypt it yourself before sending and decrypt on the other end, or you can use install a SSL certificate and use https.

share|improve this answer
how would i allow "only from the linux box" in Security Group, Private IP Address? – t q May 30 '12 at 20:17
You could use private IP address. I like to restrict connections to the security group of the linux box. – Matt Houser May 31 '12 at 20:22
can you give an example of how you would "restrict connections to the security group of the linux box" – t q May 31 '12 at 20:53
Let's say your linux box was in security group sg-abcdefg. Then on your Windows box, you can create a rule where the "source" is "sg-abcdefg". This would restrict that rule to only those linux boxes that are in that security group. – Matt Houser Jun 8 '12 at 18:02

There are many ways to send data (files) from one machine to another. For example, you can run FTP server on Windows machine and send your files over FTP from Linux machine

share|improve this answer
open a ftp port? isnt there a more secure way internally? – t q May 30 '12 at 14:52
If you are concerned about security, you can use SFTP? – Khaled May 30 '12 at 14:52

Generally for internal communication I'd setup some VPN tunnel between the machines - this way you solve the security problem once and forever - all your internal communications bind to VPN interfaces only, and ports that you use are not even publicly visible, the only visible port is the one you use for VPN itself. Just use VPN with encryption that would satisfy you, OpenVPN or any other.

Now, once security problem solved, to send data, you are free to choose the most convenient way for you - be it HTTP with some XMLs, JSON, plain text or PHP serialize() over TCP, or whatever else.

share|improve this answer
would the setup be the same as a VPN server? – t q May 30 '12 at 20:14
if it's a "star" topology (many instances connect to single instance), you can run a OpenVPN server on the windows machine, and linuxes would be VPN clients – Sandman4 May 30 '12 at 21:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.