2016-06-23 6 views
0

私のサーバーは2つのIPを持っています(ip1 & ip2)私は最近ip2を追加しました。私が竜巻websocketerverを開こうとすると、ip1(apache2が実行されています)がうまくいきます。 22000と私はIP1上のApacheによってブロックされたポート443を使用する必要があるため、しかし、すぐに私は(Apacheが実行されていない) IP2 で待機するように竜巻を構成したwss://domain.tld:22000/sub竜巻の安全なwebsocketタイムアウト

を経由して、私のsocketに接続することができます私はwss://sockets.domain.tld:443/sub経由で接続できません。 DNSレコードがip2を指しています。

接続がタイムアウトします。どのポートまたはプロトコル(wss/ws)を使用しているかにかかわらず。


私のpythonコード:私のサーバーがUbuntu 12.2上で実行されている

from tornado import web 
from tornado import ioloop 
from tornado import websocket 
from tornado import httpserver 
import ssl 
import json 
import random 
import re 
import os 

application = web.Application([(r"/sub", Client)]) 
http_server = httpserver.HTTPServer(application, ssl_options = { 
    "certfile": os.path.join(LIB_DIR, "certificate.crt"), 
    "keyfile": os.path.join(LIB_DIR, "certificate.key"), 
}) 
http_server.bind(443, address = "ip2") 
print("Listening to ip2:443") 
ioloop.IOLoop.current().start() 

、私はポートを開いて、彼らが開いている場合は、外部ツールでチェック。

enter image description here

私はこれをどのように修正することができますか?私のサーバーと何か関係がありますか?

UPDATE 私はそれがhttp_server.bind(...)に関係しているかなり確信している、コードが.listen(port)で動作んが、IP1とバインドも動作しません。

答えて

2

the documentationによれば、bindを呼び出した後、startをサーバーに呼び出す必要があります。したがって

http_server.bind(443, address = "ip2") 
print("Listening to ip2:443") 
http_server.start() 
ioloop.IOLoop.current().start() 

が動作するはずです。

関連する問題