Tôi đang sử dụng localtunnel v1. Nhưng tôi thấy rằng v2 cho phép bạn tùy chỉnh tên miền phụ, và tôi cần tính năng này.Cách chạy localtunnel v2 đúng cách
Tôi làm theo hướng dẫn được mô tả trong các README
từ repository, nhưng nó làm tôi bối rối trong một số phần và, cuối cùng, nó không hoạt động.
Bước đầu tiên là chạy một số ứng dụng web: được chọn, trên cổng số. 8000.
Sau đó, nó nói điều gì đó về tên máy chủ:
Localtunnel làm một số công cụ với tên máy chủ, vì vậy bạn muốn thiết lập hai hostname. Một cho đăng ký localtunnel, một cho localtunnel của bạn. Thông thường nó mong đợi một ký tự đại diện, nhưng chúng tôi sẽ chỉ hardcode một tên máy chủ cho đường hầm ví dụ này.
example.localtunnel.local -> 127.0.0.1
localtunnel.local -> 127.0.0.1Bạn có thể làm điều này trong/etc/hosts hoặc sử dụng tiện ích ma ưa thích.
tôi đã bị lạc ở đây, nhưng tôi vẫn sửa /etc/hosts
tôi:
127.0.0.1 localhost
127.0.1.1 my-pc-name
127.0.0.1 example.localtunnel.local
127.0.0.1 localtunnel.local
Bước tiếp theo ...
Bây giờ bạn có thể bắt đầu các máy chủ. Nó dựa trên tệp cấu hình trong thư mục cấu hình . Bạn có thể tạo riêng của bạn, nhưng này một được cấu hình để chạy các máy chủ trên cổng 9999 và dự kiến tên máy localtunnel.local
ginkgo config/default.conf.py
Mà một trong những? Dù sao ... tôi đã tạo myconfig.conf.py dựa trên các tập tin trong thư mục localtunnel repo của /deploy
:
port = 9999
hostname = 'localtunnel.local'
service = 'localtunnel.server.TunnelBroker'
Tuy nhiên, khi tôi chạy:
lt --broker 127.0.0.1:9999 --name example 8000
tôi nhận:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
result = self._run(*self.args, **self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 53, in listen
msg = self.ws.receive(msg_obj=True)
TypeError: receive() got an unexpected keyword argument 'msg_obj'
<Greenlet at 0xb6e0db1cL: <bound method TunnelClient.listen of <localtunnel.client.TunnelClient object at 0xb6def52c>>> failed with TypeError
Và trong quá trình ginkgo:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 438, in handle_one_response
self.run_application()
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/geventserver.py", line 85, in run_application
self.result = self.application(self.environ, start_response_for_upgrade)
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/wsgi/middleware.py", line 131, in __call__
environ.copy()))
TypeError: handle_websocket() takes exactly 3 arguments (2 given)
<BrokerFrontend fileno=6 address=0.0.0.0:9999>: Failed to handle request:
request = GET /t/example HTTP/1.1 from ('127.0.0.1', 35907)
application = <ws4py.server.wsgi.middleware.WebSocketUpgradeMiddleware object at 0x95bc2ac>
127.0.0.1 - - [2012-05-14 17:18:18] "GET /t/example HTTP/1.1" 101 162 0.000933
Và, rõ ràng là, http://example.localtunnel.local:9999 không hoạt động.
Cách sửa lỗi này? Và nơi tôi phải sửa đổi để thay đổi tên miền phụ cuối cùng?
Xin lỗi về tiếng anh đáng sợ.
Sửa
Tôi đã theo các paul gợi ý và đã làm hạ cấp. Nhưng mặc dù những thay đổi đã xảy ra nhưng vẫn xảy ra lỗi. quá trình ginkgo:
$ ginkgo eco.conf.py
Starting process with eco.conf.py...
127.0.0.1 - - [2012-05-22 20:21:11] "GET /t/example HTTP/1.1" 400 116 0.000190
quá trình localtunnel:
$ lt --broker 127.0.0.1:9999 --name example 8000
Traceback (most recent call last):
File "/usr/local/bin/lt", line 9, in <module>
load_entry_point('localtunnel==0.4.0', 'console_scripts', 'lt')()
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 31, in main
client.serve_forever()
File "/usr/local/lib/python2.7/dist-packages/ginkgo/core.py", line 188, in serve_forever
self.start()
File "/usr/local/lib/python2.7/dist-packages/ginkgo/core.py", line 124, in start
ready = not self.do_start()
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 42, in do_start
self.ws.connect()
File "/usr/local/lib/python2.7/dist-packages/ws4py-0.1.5-py2.7.egg/ws4py/client/threadedclient.py", line 72, in connect
self.process_response_line(response_line)
File "/usr/local/lib/python2.7/dist-packages/ws4py-0.1.5-py2.7.egg/ws4py/client/__init__.py", line 61, in process_response_line
raise HandshakeError("Invalid response status: %s %s" % (code, status))
ws4py.exc.HandshakeError: Invalid response status: 400 Bad Handshake
Mặc dù ginkgo không đưa ra bất cứ lỗi ngay bây giờ, vẫn localtunnel nâng lỗi khác nhau từ các lỗi trước đó. Rõ ràng nó cố gắng GET "/ t/example" trong quá trình kết nối.
Có bất kỳ thông tin nào khác mà tôi có thể cung cấp hoặc giải thích để cải thiện câu trả lời của tôi ở đây không? –
Một nghìn lời xin lỗi về sự chậm trễ trong phản hồi ... Nhưng chỉ downgrading ws4py không hoạt động. Vui lòng xem chỉnh sửa của tôi. – borges
Và về nhận xét của bạn, mục tiêu của tôi với công cụ này chỉ là chia sẻ các máy chủ web cục bộ để kiểm tra các tính năng không liên quan đến bảo mật. Nếu bạn biết bất kỳ công cụ nào làm như vậy, tôi rất muốn biết! – borges