Serving multiple SSL websites on one box behind one public IP

I maintain a small private Arch server which I use to serve up a personal website and serve websites for a couple of friends as well. Currently, I do this with name based virtual hosting, but I would like to be able to secure each of these sites with their own SSL certificates. I understand that I can do this by switching over to IP based virtual hosting and using IP aliases, but what I'm struggling with is the best way to securely deliver HTTPS requests to those virtual hosts.
The option I've been exploring the most extensively is the apache reverse proxy, but it seems to present challenges to ensuring separate, secure, SSL connections between each host and its clients that make me think I should start looking elsewhere (e.g., anyone connecting to any of the websites would be sharing the same encrypted pipeline since they connect to the same proxy).
The option I've started looking at since is using Apache's redirect rules to redirect a request to it's appropriate IP based virtual host. However, the challenge here seems to be that redirect rules don't appear to be intended to reroute a request coming from outside of the subnet to a different subnet IP address.
I've considered exploring the option of setting up a DNS name server and setting up my DNS records to point to it, but this would mean I have a lot of reading ahead of me, and a whole mess of time to invest in setting it up. Obviously, I'd prefer to be able to play with a few config files to make it work.
Am I even on the right track? Can anyone comment on these possible solutions or point me in the direction of a better one?

synthead wrote:
You could use VirtualHosts of different names to direct to different document roots.  It's actually really easy:
<VirtualHost thisdomain.com:80>
</VirtualHost>
<VirtualHost thatdomain.com:80>
</VirtualHost>
Apache will look at the URL used to access the server and serve the appropriate content.  Different domain names, different content, same IP.  For SSL, you'd do the same, but put your SSL configuration specific to each host (cert, key, etc.) in blocks that look like <VirtualHost thisdomain.com:443>.
I have to apologize for jumping the gun on you, as it turns out you were 100% correct. Mor research yielded my answer, being that modern browsers and apache versions 2.2 and up do support ssl with name based virtual hosts through SNI
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

Similar Messages

  • Multiple SSL Certs in one SSL Proxy/VIP

    Guys
    I have a requirement to be able to provide SSL for two different sites that will resolve to the same VIP.  Ive created alot of SSL sites before and these work a treat with HTTP to HTTPS redirection.
    However Im not sure how are take two different SSL certs, and bind them to the same SSL Proxy, inorder for me to add them to the same VIP.  The customer wants to use only port 443.  I had thought about using a secondary port something like 8443, and adding another class under the multi-match policy.
    Is this possible at all?  I use a standard L4 class-map in the multi-match policy, that then nests down into L7 class-maps, for URL load balancing.
    Because this is a multi-match policy can I just create another L4 Policy, which in turn nests down to a different L7 class-map, allowing me to match the second URL. And thus because I have another L4 policy I can assign a new SSL Proxy?
    Thanks

    Cathy
    Thanks for the reply, thats what i was thinking. we use wild card certificates for several of the other domains, how we need to provide  certificates for www.website.com and ww2.website.com due to cost.
    Is it possible to replace the L4 policy map, with a straight L7 so that we are load balancing directly on URL as apposed to verifying L4 matches first?  Or would this not be advisable / possible.  I always thought it was the L4 policy that made the VIP proxy?
    Can SAN certs not be used in this example?
    Thanks

  • Indesign CS6 Server: Multiple instance configured, just one random instance come up?!

    Hello everyone,
    we have a problem with our Indesign server. It is configured to run as service on a Windows 2008 R2. We configured one instance with the management snap - that worked well. So we decided to add more instances and now the problems start: If I start the indesign server service all configured instances come up as process. But only a random one comes up able to process jobs. The other instances are dead - they don't even open a port. And I could see that the dead instances take hardly memory (ca. 50MB). The working instance takes ca. 260MB RAM directly after launching the service. What we are doing wrong?
    As you can see the instance with the PID 7832 takes a lot more RAM - thats the working instance. I checked with "netstat -an" for the ports 4711-4714 - just port 4713 was open.
    Thanks for your help and Regards from Germany
    Benjamin Gannott

    Hello everyone,
    we have a problem with our Indesign server. It is configured to run as service on a Windows 2008 R2. We configured one instance with the management snap - that worked well. So we decided to add more instances and now the problems start: If I start the indesign server service all configured instances come up as process. But only a random one comes up able to process jobs. The other instances are dead - they don't even open a port. And I could see that the dead instances take hardly memory (ca. 50MB). The working instance takes ca. 260MB RAM directly after launching the service. What we are doing wrong?
    As you can see the instance with the PID 7832 takes a lot more RAM - thats the working instance. I checked with "netstat -an" for the ports 4711-4714 - just port 4713 was open.
    Thanks for your help and Regards from Germany
    Benjamin Gannott

  • Multiple websites on one server

    I've been trying to create multiple (two) websites on one server, with little luck. One sight works fine. I've tried creating a DNS entry for the new one, but I'm not sure what to set the IP to. I've tried many configurations of IP/hostname but nothing seems to work. Occasionally, the logs just disappear from the logs window.
    I've read on here that it's possible to run multiple sites off of one IP, so I feel like that is not the problem. Ideally, I'd like to have one of the sites not exist in the System/WebServer folder. If I place the site folder outside of that folder, do I have to add its folder as a share point and/or modify its permissions?
    Server version is 10.6.3

    I'm going to distinguish the web browser (client), the web server, and the DNS server here, and will treat these as running on three separate computers. You might have one or more of those co-located on one box, adjust these references to your configuration as necessary.
    The DNS translations are applicable only on the client; on the host box that is running with the web browser. The web server doesn't care about the DNS translation. The client needs the DNS to get the IP address of the web server, and it's off to the races from there.
    Again, DNS translations are not relevant the web server. The particular web server that gets selected (Apache Virtual Host, what Apple calls a "Site") based on some information that is passed within the http (don't start working with https quite yet) connection from the web browser into the web server.
    As for your DNS question, you'll probably want a CNAME (alias) entered in DNS database for the virtual hosts, even if you're awash with IP addresses. That alias must then match the name of the web server "Site". For testing, you can enter what amounts to CNAMES into /etc/hosts on the client, depending on your local set-up and your DNS server.
    By default, the connections to all virtual hosts are via port 80. Stay there for now.
    The web server selections are sensitive to the order of the "Sites" in the listing in Server Admin, too; you'll want the wildcard site (if you have that) at the end of the list.
    Here are some of the basics: [Apache Tips: One Web Server, Multiple Distinct Web Sites|http://labs.hoffmanlabs.com/node/1282]. Comments on that are welcome.

  • Multiple document roots on one instance of weblogic server..

    Hi,
    Is it possible to configure multiple document roots for one weblogic server?
    Here is my situation...
    We have a sun box which is having 4 IP addresses. We would like to have a
    document root for each IP address, but we want to run a SINGLE weblogic
    server instance..
    Any help is appriciated..
    thx

    check this out for more info:
    http://www.weblogic.com/docs51/admindocs/properties.html#multihoming
    "Mauricio Del Moral" <[email protected]> wrote in message
    news:3977759c$[email protected]..
    Hi,!
    I'm afraid not, but that would be great.

  • Getting single "generic" WLS 4.5.1 app to serve multiple DNS names, including SSL

    Hi everybody,
    I am trying to figure out a strategy to enable a single web application
    based on WLS 4.5.1 (SP13) running on Linux to serve multiple DNS
    names, with some specific pages to be transmitted using SSL.
    While the JSP pages differ in colouring and screen layout (but not in
    logic),
    the entire EJB business logic is identical for all DNS names. So are the
    servlets.
    The application data to be presented to the user can easily be mapped,
    and presently (with the application responding to a single DNS name)
    it is cached using a JNDI tree. To minimize coding effort, and
    to continue utilizing the present caching concept, only expanding it to
    support
    multiple similar "virtual" applications, I would prefer to
    continue using a single WLS instance when making the application "generic".
    But as a consequence of this, I could only present a single SSL certificate
    to the user if I had WLS answer internet HTTP requests directly.
    What would you think should be done to get the browsers
    "display the closed padlock while in the order form" for multiple DNS names
    served by this same application instance?
    One approach might be to put Apache in front of WLS, and configure it
    to serve multiple virtual hosts (one for each DNS name to be served,
    encoding the differences between the request URLs somehow in the ServerPath
    directive, and providing a separate SSL certificate for each of those
    virtual
    hosts).
    Does this make sense to you? Any experience in this area? Which Apache
    and WL modules should I be using - which combination
    of mod_proxy, mod_ssl (by Apache), mod_wl, mod_wl_ssl[_raven] ?
    Any input would be greatly appreciated! Thanks in advance!
    Ruben
    [A minor add-on question is: Is the situation truly different with
    WLS 6.0? I understand it supports virtual hosting on its own. Can multiple
    (web) applications running under a single common WLS "umbrella" server
    instance share the same application data? I would expect so - is this true?]

    Ruben, I can't help you with the specifics of the configuration but your
    general strategy seems correct to me. WLS does not handle multiple certs
    and one must front it with a Web server if multiple certs are required.
    Neil Smithline
    WLS Security Team
    BEA Systems
    "Ruben-B Reincke" <[email protected]> wrote in message
    news:[email protected]...
    Hi everybody,
    I am trying to figure out a strategy to enable a single web application
    based on WLS 4.5.1 (SP13) running on Linux to serve multiple DNS
    names, with some specific pages to be transmitted using SSL.
    While the JSP pages differ in colouring and screen layout (but not in
    logic),
    the entire EJB business logic is identical for all DNS names. So are the
    servlets.
    The application data to be presented to the user can easily be mapped,
    and presently (with the application responding to a single DNS name)
    it is cached using a JNDI tree. To minimize coding effort, and
    to continue utilizing the present caching concept, only expanding it to
    support
    multiple similar "virtual" applications, I would prefer to
    continue using a single WLS instance when making the application"generic".
    >
    But as a consequence of this, I could only present a single SSLcertificate
    to the user if I had WLS answer internet HTTP requests directly.
    What would you think should be done to get the browsers
    "display the closed padlock while in the order form" for multiple DNSnames
    served by this same application instance?
    One approach might be to put Apache in front of WLS, and configure it
    to serve multiple virtual hosts (one for each DNS name to be served,
    encoding the differences between the request URLs somehow in theServerPath
    directive, and providing a separate SSL certificate for each of those
    virtual
    hosts).
    Does this make sense to you? Any experience in this area? Which Apache
    and WL modules should I be using - which combination
    of mod_proxy, mod_ssl (by Apache), mod_wl, mod_wl_ssl[_raven] ?
    Any input would be greatly appreciated! Thanks in advance!
    Ruben
    [A minor add-on question is: Is the situation truly different with
    WLS 6.0? I understand it supports virtual hosting on its own. Can multiple
    (web) applications running under a single common WLS "umbrella" server
    instance share the same application data? I would expect so - is this
    true?

  • How do I install multiple KMS keys on one server?

    I currently am working at Phelps County Regional Medical Center in Rolla, MO and my question is: How do I install multiple KMS keys onto one server? This is very urgent and I have the KMS activating Windows 7 but, I also need all my Office keys, Windows
    8, and Windows 8.1  to be activated via KMS. the current KMS is a Windows Server 2008 R2 server. Please help me out and thank you for your time! :)

    you need to apply the following update (http://support.microsoft.com/kb/2885698)to your KMS server so you can license up to Windows 8.1.  From there your key for 8.1/2012R2 will license everything
    downwards and then you can also install your Office KMS key without issue.  If its Office 2013 then you need to download the files here (http://www.microsoft.com/en-us/download/details.aspx?id=35584) 
    Be kind and Mark as Answer if I helped.

  • Multiple users logged into one server, each users printer has a different name, application needs ONE name to print to.

    Multiple users logged into one server, each users printer has a different name, application needs ONE name to print to. 
    I'm NOT in any way a Terminal Services expert and I need help trying to get an application program working in a multi-user environment.
    The issue is that the printer changes for every user that is logged in. The application needs to print NOT to the default printer, but to a "special" printer which is selected in the application... let's call it a label printer to simplify the explanation.
    You have your default regular printer, easy for the application to find that one, and then you have a special printer that labels get printed onto. The application needs to know what printer is the label printer. So we allow the user to select that in the
    application and the selection is stored in a config file in 
    C:\ProgramData\mfgr\prog\setting files
    I don't have access to the application so I can't change how this works.  
    In the "regular" world, selecting the label printer driver to use should be per machine, NOT per user. When a new user logs into a machine, the physical printer doesn't go "poof" and a new printer suddenly appear. Same printer for all
    users.
    Yet in terminal services, the physical machine is "merged" with the virtual machine on the server. And there can be many users logged in at the same time. So each users real machine (and real printer) is injected into the "fake" terminal
    services machine. The name of the printers is made unique for each user. So the printers DO go "poof" and change names depending on the user logged into terminal services.
    So user "A" logs in and sets up the application to print to "LabelPrinterForUserA" (or whatever the name of the printer happens to be), that setting is stored in the ProgramData subfolder, and all is well. Later, user "B" logs
    in, and when they print, the application tries to print to "LabelPrinterForUserA" which doesn't exist for user B or is only accessible by user A. If user B re-configures, that breaks it for user A. 
    SOLUTION 1: The way that /should/ work (in my mind) is that you define one "generic" printer in Terminal Services... call it "Virtual Label printer" and when the user wants to print to it, the print job gets re-directed back to whatever
    physical printer is actually connected to their local workstation. There is a map of virtual printer to actual printer depending on the current user. The application is told once to print to "Virtual Label Printer" for all users.
    SOLUTION 2: Or... there should be some way to make the ProgramData sub folders separate per user. E.g. when user "A" tries to access:
    C:\ProgramData\mfgr\prog\setting files
    they actually get 
    C:\UserData\UserA\AppData\mfgr\prog\setting files
    and user "B" gets
    C:\UserData\UserB\AppData\mfgr\prog\setting files
    So the question I have is: Does either of those solutions exist hidden somewhere in the setup of terminal server? Or is there another way around this issue that I don't know?

    I don't really have a "for sure" answer to this, but because people here can't seem to deal with a question that hasn't been answered I'll provide the best answer I did receive from ServerFault.com user Nathan:
    I can feel your pain with using old software on terminal servers ...the solution I've come up with definitely won't scale as it requires some manual configuration, but I've gotten this method to work with our label printers (which require to be
    printed to an LPT port...yep, that old).
    Share your USB-connected printers to the network on each machine. Then, have the user log in on aunique session for each of them
    (a TS account cannot be shared among computers for this to work) and install a network printer pointing to the USB one they shared. Try to use a DNS name to account for possible DHCP movements.
    After, it should work. Each user can do this since display names can be identical as long as the ports are different (which they are).
    This was clarified by the following series of comments:
    I think you are on to something here, and I originally advised the admin to do this. The problem he ran into is that it setup the printer names in the TS as "printer on usersworkstation"
    and he could not rename it except to change the "printer" to whatever. E.g. the "on userworkstation" remained. I believe there is another way of installing the printer which avoids this, but I can't find it. Ages ago, one used to do NET
    USE LPT2 \\computer\printer password /USER:domain\user /PERSISTENT:YES and then tell the driver to print to LPT2 –  James
    Newton Mar
    17 at 16:21   
    @JamesNewton That's actually the exact method we used. The way around the "network printer" part is to install it as local printer and map it to a TCP/IP port that way. –  Nathan
    C Mar
    17 at 16:28
    You mean in the case where the printers are TCP/IP connected and not local USB / LPT to the users workstation? That makes sense. Wonder if this will work for USB connected printers... –  James
    NewtonMar
    17 at 16:35   
    @JamesNewton You'd share the local printer on the client's PC then on the server connect via TCP/IP to it. You'd need static addresses or use DNS names if DHCP, though. –  Nathan
    C Mar
    17 at 16:51
    Ah. Yes. I see. Looks like the LPT thing should work even with a USB connected printer:superuser.com/questions/182655/… –  James
    Newton Mar
    17 at 17:09   

  • How do I make multiple iWeb websites without them turning into one?

    I made a website with no problems with iWeb. I published it to a folder and uploaded it to my domain host with no problems.
    I wanted to make a new, separate stand-alone website with iWeb but I could find no way to do that. When I go to FILE and NEW SITE, it places that in the list of my other website. I created that new site, published it to a new folder, and the two websites became one large one!
    I thought iWeb was like MS Word in terms of one program making an indefinite number of independent websites.
    How can I do this?
    Thanks.

    You can certainly use it for general design if it
    meets your needs. Its sites can be put on any server
    and the different "sites" in the organizer have
    distinct urls regardless of where you put them.
    Not sure what you mean here. I think you are equating
    distinct URL's with distinct Web-Sites. I'm pretty sure most
    people wouldn't interpret things that way. By "site" most
    people mean just the part after the "://" and before the
    next "/". Like www.apple.com is a different site from
    www.google.com not www.apple.com/developer is
    one site and www.apple.com/discussions is another.
    When
    you upload from a folder via ftp you can upload only
    one site it you want,
    That is true. Just because iWeb writes everything
    out doesn't mean one has to upload it all. Just takes
    a little longer to generate the site. That is a good
    workaround.
    and you can keep site data
    totally separate by using different user accounts or
    different Domain files. Here are some tips for other
    servers:
    http://homepage.mac.com/thgewecke/iwebserver.html
    I had a look at this page and think those suggestions are
    interesting but not really for me. I'm neither a Web Designer
    nor a Deployment Engineer, and mostly only use the iPhoto
    publish to homepage feature. I'm just can't get that motivated
    about my personal web site. Maybe I'll check out homepage
    again.

  • Multiple broker instances on one server

    We are running multiple OpenMQ 4.4u1 broker instances on a single server (two different environments, one development and one staging). It appears as though the RC file I installed in /etc/init.d on our RHEL server is designed to manage one and only one broker instance (using the $IMQ_ETCHOME/imqbrokerd.conf file).
    Is there an elegant way to have the single RC script manage multiple instances, or should I just create a second RC file and a second $IMQ_ETCHOME/imqbrokerd.conf file to manage the second instance?
    Thanks,
    Bill

    Yes, the MQ RC script is for 1 broker instance only. On Solaris, it's possible to use SMF to manage multiple processes/services. You may want to look for something similar on RHEL or clone/customize the RC script, imqbrokerd.conf and relevant links in rc?.d for each instance

  • Open multiple websites in one window

    I would like to open multiple websites in one window with multiple tabs using VBA in Excel.  My present code opens each website in a separate window.
    Sub Weather()
    ' Look at weather websites
        Dim URL As String
        Dim ie As Object
        URL = "http://cleardarksky.com/c/AnaheimCAkey.html?1"
        Set ie = CreateObject("InternetExplorer.Application")
        ie.Visible = True
        ie.navigate URL
        Set ie = Nothing
        URL = "http://www.goes.noaa.gov/GSSLOOPS/wcir.html"
        Set ie = CreateObject("InternetExplorer.Application")
        ie.Visible = True
        ie.navigate URL
        Set ie = Nothing
        URL = "http://www.weather.com/weather/hourbyhour/l/92886:4:US"
        Set ie = CreateObject("InternetExplorer.Application")
        ie.Visible = True
        ie.navigate URL
        Set ie = Nothing
        URL = "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=92886"
        Set ie = CreateObject("InternetExplorer.Application")
        ie.Visible = True
        ie.navigate URL
        Set ie = Nothing
    End Sub

    Hi,
    It depends on your popup blocker (built-in or Addon toolbar), tabbed browser settings and IE security settings.
    See general tab of Internet Options, Tabs button.
    you can specify a target parameter in the navigate method to reuse the one IE window and open each site in a new tab (depending on your settings above).
    window.navigate method
    Regards.
    Rob^_^

  • 2 different websites on one server.

    Hi. I would like to make 2 different websites on one server. One that's basically a professional website, and the other that's devoted entirely for photos from my travels only. Can someone tell me how I can create two websites and hyperlink one to the other via iweb? Any suggestions greatly appreciated. Thanks.
    ~MacGee4

    I'll point you to a little tutorial made by another forum member here...
    Check out http://www.willg4pb.com/ under the How2 section. I think this will answer your question. Good luck!
    ==> www.DirtDoog.com <==</a>    
    Place A Virtual Pin On Putt-Putt's GuestMap!

  • Multiple web galleries in one website

    Hi guys,
    Is there anyway to have multiple web galleries in one website,
    ie linked off one page
    Gallery 1
    Gallery 2
    Gallery 3
    I can rename the swf, and js files and it works fine, but when i rename the gallery.xml file to what i want, it wont work.
    Have opened the .xml file and resaved as what i wanted also
    Is there anyway for me to modify the names? so i can have a few different galleries on the one site?
    Any help appreciated
    Cheers
    Claire

    Seems you may need something like TTG Auto Index?

  • One Server Multiple Clients

    Hello,
    This server code accepts only one client connection at a time. However, I have several lines that are specifically for the server to accept more than one client. What do I need to do in addition for the server to recognize that it can accept more than one client at a time?
    import java.io.EOFException;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    import java.util.concurrent.Executors;
    import java.util.concurrent.ExecutorService;
    import javax.swing.JFrame;
    public class ServerTest
       public static void main( String args[] )
          Server application = new Server();
          application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
          application.runServer();
    class Server extends JFrame
       private JTextField enterField;
       private JTextArea displayArea;
       private ObjectOutputStream output;
       private ObjectInputStream input;
       private ServerSocket server;
       private Socket connection;
       private int counter = 1;
       private ExecutorService serverExecutor;
       private MultiServer clients[];
       public Server()
          super( "Server" );
          enterField = new JTextField();
          enterField.setEditable( false );
          enterField.addActionListener(
             new ActionListener()
                public void actionPerformed( ActionEvent event )
                   sendData( event.getActionCommand() );
                   enterField.setText( "" );
          add( enterField, BorderLayout.NORTH );
          displayArea = new JTextArea();
          add( new JScrollPane( displayArea ), BorderLayout.CENTER );
          setSize( 300, 150 );
          setVisible( true );
       public void runServer()
          serverExecutor = Executors.newCachedThreadPool();
          try
             server = new ServerSocket( 12345, 100 );
             while ( true )
                try
                   waitForConnection();
                   getStreams();
                   processConnection();
                catch ( EOFException eofException )
                   displayMessage( "\nServer terminated connection" );
                finally
                   closeConnection();
                   counter++;
          catch ( IOException ioException )
             ioException.printStackTrace();
       private void waitForConnection() throws IOException
          displayMessage( "Waiting for connection\n" );
          connection = server.accept(); 
          serverExecutor.execute( new MultiServer(server, connection));     
          displayMessage( "Connection " + counter + " received from: " + connection.getInetAddress().getHostName() );
       private void getStreams() throws IOException
          output = new ObjectOutputStream( connection.getOutputStream() );
          output.flush();
          input = new ObjectInputStream( connection.getInputStream() );
          displayMessage( "\nGot I/O streams\n" );
       private void processConnection() throws IOException
          String message = "Connection successful";
          sendData( message );
          setTextFieldEditable( true );
          serverExecutor.execute(new MultiServer(server, connection));
          do
             try
                message = ( String ) input.readObject();
                displayMessage( "\n" + message );
             catch ( ClassNotFoundException classNotFoundException )
                displayMessage( "\nUnknown object type received" );
          } while ( !message.equals( "CLIENT>>> TERMINATE" ) );
       private void closeConnection()
          displayMessage( "\nTerminating connection\n" );
          setTextFieldEditable( false );
          try
             output.close();
             input.close();
             connection.close();
          catch ( IOException ioException )
             ioException.printStackTrace();
       private void sendData( String message )
          try
             output.writeObject( "SERVER>>> " + message );
             output.flush();
             displayMessage( "\nSERVER>>> " + message );
          catch ( IOException ioException )
             displayArea.append( "\nError writing object" );
       private void displayMessage( final String messageToDisplay )
          SwingUtilities.invokeLater(
             new Runnable()
                public void run()
                   displayArea.append( messageToDisplay );
       private void setTextFieldEditable( final boolean editable )
          SwingUtilities.invokeLater(
             new Runnable()
                public void run()
                   enterField.setEditable( editable );
      class MultiServer extends Thread
      public MultiServer(ServerSocket servers, Socket connection)
          servers = server;
      public void run(){System.out.print("Yes");}
    }

    Check out the "Supporting Multiple Clients" bit here: http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html
    Start a Thread for each client. I'd recommend you create a class:
    class Client
        Socket socket;
        ObjectOutputStream out;
        ObjectInputStream in;
        ...any other client-specific data you need...
        public void sendMessage(String s) { ...send to this client...; }
       ...any other client-specific methods you need...;
    }Create one of those when accept() gets a new connection, then start the thread for that client.
    You may want to keep a LinkedList that contains all the Client objects. E.g. if you want to send a message to all clients you'd loop over the LinkedList and send to each in turn. Synchronize the list appropriately. Removing clients from the list when they close down can be interesting :-) so be careful.

  • Multiple email address with one server account

    Why can't Mail have multiple email addresses on one email account? Like Thunderbird calls them Identities. As I remember, Outlook also supports this. I like Mail but it seems rather dated and clunky in this respect.
    I am using mainly IMAP so maybe I should switch to Thunderbird but I do still have some old messages in pop accounts in Mail.

    You can have multiple accounts, but only one "identity." Configure new mail accounts for all the different email addresses you may have. They can each have different configurations, different servers, etc. as well as be individually made active or inactive. All incoming mail will funnel into a single Inbox, but you can use rules to transfer incoming mail to separate mailboxes based on the account.
    What you cannot have are distinct "personalities."
    Bear in mind that Mail is intended for a single user and the vast number of single users only have one email account. I actually have four different email addresses but three of them are set to forward mail to the account I use with Mail. Mail works quite well with IMAP, POP, and Outlook mail accounts.

Maybe you are looking for