我遇到了在Ubuntu上運行的python web服務器的可見性/可訪問性問題。服務器代碼如下:從外部機器訪問python web服務器
#!/usr/bin/python
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
PORT_NUMBER = 8899
#This class will handles any incoming request from
#the browser
class myHandler(BaseHTTPRequestHandler):
#Handler for the GET requests
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
# Send the html message
self.wfile.write("Hello World !")
return
try:
#Create a web server and define the handler to manage the
#incoming request
server = HTTPServer(('', PORT_NUMBER), myHandler)
print 'Started httpserver on port ' , PORT_NUMBER
#Wait forever for incoming htto requests
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down the web server'
server.socket.close()
調用它本地使用curl下面命令工作 - 我收到的 'Hello World' 的答案。
curl {externalIP}:8899
在瀏覽器中打開地址(chrome,ie)失敗!
http://{externalIP}:8899/
UFW的狀態是不活動的
的iptables如下
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:8765
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ubuntu已經Apache2的服務器上安裝並使用網絡瀏覽器,外部IP和端口80打開HTML文件正在與上面沒有問題服務器...
任何想法我還能檢查什麼?
嗨。謝謝您的回答。不幸的是,在指定的代碼行中將第一個參數更改爲外部IP(並且在第二次嘗試中爲0.0.0.0)後,效果相同。局部捲曲作品,外部瀏覽器超時。 – user4738010
ping是否可以在另一臺機器上工作?如果您從客戶端telnet到端口8899,響應是什麼? –
我用膩子(ssh)配置了所有東西,我可以ping ubuntu。更重要的是配置了apache2,我可以在html目錄中查看html文檔。我根本無法訪問我的Web服務器。 – user4738010