Próbuję ustawić i uzyskać dostęp do prostego serwera http Python na instancji Amazon EC2. Serwer działa lokalnie w localhost: 80, ale nie mogę go uruchomić w instancji EC2.Uruchamianie serwera http na Amazon EC2
Połączyłem elastyczny adres IP z instancją i przynajmniej działa, aby uzyskać dostęp do ssh w tym IP.
myślę jest problem, że jestem ustawiania SERVER_ADDRESS dla HTTPServer niepoprawnie: Python HTTPServer documentation Ponieważ ja naprawdę nie mają pojęcia, w domu mam router skonfigurowany do przekazywania żądań HTTP do komputera lokalnego adresu IP, 192.168.1.xx
Myślałem, że to może być problem z grupą zabezpieczeń, więc dodałem przychodzące HTTP ze źródłem 0.0.0.0/0 (które, jak sądziłem, powinno zezwalać na wszystkie przychodzące adresy IP) i ustawia port 80 bez żadnej opcji zmiana.
Dodatkowo, myślę, że uruchomienie skryptu serwera pod sudo na porcie 80 jest potencjalnym zagrożeniem bezpieczeństwa. Czy istnieje sposób przekazania żądania w ramach innego portu, takiego jak 8080 zamiast 80?
HTTPServer w Pythonie prawdopodobnie nie upuszcza przywilejów, więc nie jest bezpiecznie uruchomić jako root. Czym dokładnie jest twoja konfiguracja? Czy próbujesz uzyskać dostęp do hosta HTTPS hostowanego na komputerze z instancji EC2? – tangrs
Co używasz jako argument argumentu server_address do HTTPServer? Powinieneś mieć coś takiego jak nginx lub apache infront tej usługi/strony internetowej, jeśli inne osoby będą je konsumować. Rozważ też użycie biblioteki takiej jak [flask] (http://flask.pocoo.org/). Może to ułatwić Ci życie. – LoveGandhi