Почему я не могу получить доступ к своему веб-серверу через Интернет? - PullRequest
0 голосов
/ 04 сентября 2018

Я хотел бы запустить этот простой веб-сервер Java на моем экземпляре lightsail.

    import com.sun.net.httpserver.HttpHandler;
    import com.sun.net.httpserver.HttpServer;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.InetSocketAddress;
    import java.util.logging.Level;
    import java.util.logging.Logger;

    public class Server {
        private static final Logger LOGGER = Logger.getLogger(Logger.class.getName());

        public static void main(String[] args) {
            final int PORT = 8000;
            new Server(PORT);
        }

        private Server(int port) {
            HttpServer server = null;
            try {
                server = HttpServer.create(new InetSocketAddress(port), 0);
                LOGGER.log(Level.INFO, "Server has been started!");
            } catch (IOException e) {
                e.printStackTrace();
            }
            server.createContext("/request", new MyHttpHandler() {
                @Override
                public void handle(com.sun.net.httpserver.HttpExchange httpExchange) throws IOException {
                    super.handle(httpExchange);
                    String response = "This is the response";
                    httpExchange.sendResponseHeaders(200, response.length());
                    OutputStream outputStream = httpExchange.getResponseBody();
                    outputStream.write(response.getBytes());
                    LOGGER.log(Level.INFO, "response: " + response);
                    outputStream.close();
                }
            });
            server.setExecutor(null);
            server.start();
         }

        private class MyHttpHandler implements HttpHandler {
            @Override
            public void handle(com.sun.net.httpserver.HttpExchange httpExchange) throws IOException {
                LOGGER.log(Level.INFO, "request: " + httpExchange.getRequestURI());
            }
    }
}

Работает нормально, но не отвечает на запросы из интернета?
Что бы это могло быть? Я открыл порт через sudo ufw allow 8000, но ничего не изменилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...