回答
當然可以。這就是所謂的端口轉發。您在端口80上運行您的應用程序,並將端口4567轉發到80.這樣您就可以擁有兩個端口。或者,您可以通過其他方式運行本地應用程序,並將受保護的端口80轉發到您的4567端口。這是多數託管服務運行其客戶端應用程序的順便說一句。
是的,iptables在* nixes上做它。它看起來很難,這並不困難,但仍然... – three 2012-02-01 19:11:57
我可以在Windows上這樣做嗎?我可以只使用'ruby解決方案'嗎? – Radek 2012-02-01 23:06:44
@Radek - Google發現[this utility](http://www.quantumg.net/portforward.php)。我沒有看到用於控制Windows上的Windows設置的任何Ruby方法(儘管如果您可以找到命令行解決方案,當然可以使用Ruby反引號來調用該方法)。 – Phrogz 2012-02-01 23:12:22
我這麼認爲,但我想確保... – Radek 2012-02-01 00:30:39
你可以啓動應用程序的兩個不同的副本,共享同一個數據庫:
ruby myapp.rb -p 80 &
ruby myapp.rb -p 4567 &
這將在兩個單獨的Ruby運行過程,這可能會或可能不會導致問題(取決於您是否在過程中存儲任何信息)。然而,默認的基於cookie的會話甚至可以跨流程的工作:
require 'sinatra'
enable :sessions
get '/in/:msg' do
session[:msg] = params[:msg]
"I stored #{session[:msg]}"
end
get '/out' do
"Here you go: #{session[:msg]}"
end
在行動:
phrogz$ ruby sessions.rb -p 3000 &
[1] 58698
phrogz$ ruby sessions.rb -p 3001 &
[1] 58699
phrogz$ curl -b cookies.txt -c cookies.txt http://localhost:3000/in/foo
I stored foo
phrogz$ curl -b cookies.txt -c cookies.txt http://localhost:3000/out
Here you go: foo
phrogz$ curl -b cookies.txt -c cookies.txt http://localhost:3001/out
Here you go: foo
- 1. Socket.io可以偵聽多個端口嗎?
- 2. 棘輪/ ReactPHP循環可以偵聽多個端口嗎?
- 3. 一個Windows服務可能在多個端口上偵聽嗎?
- 4. 可以一個端口監聽兩種不同的協議嗎?
- 5. 只聽多個端口
- 6. 偵聽多個TCP端口
- 7. Java IO/NIO:服務器可以在多個端口上偵聽嗎?
- 8. 可以SimpleXMLRPCServer監聽多個地址嗎?
- 9. Docker可以將多個容器端口映射到一個主機端口嗎?
- 10. u-boot可以支持多個以太網端口嗎?
- 11. 在一個端口上可以運行多個程序嗎?
- 12. 我可以使用php來監聽514端口嗎?
- 13. html5的websocket可以通過瀏覽器監聽端口嗎?
- 14. netcat可以監聽遠程計算機的端口嗎?
- 15. 哪個win32 API可以用來偵聽窗口中的端口?
- 16. Dart Isolates可以有多個發送和接收端口嗎?
- 17. 在多個端口上收聽
- 18. 讓lighttpd監聽多個端口
- 19. Socket.io在多個端口上偵聽?
- 20. 用TcpListener監聽多個端口
- 21. 聽多個端口使用的NodeJS
- 22. 服務器偵聽多個端口[Java]
- 23. C /如何偵聽多個UDP端口
- 24. 服務器偵聽多個端口c
- 25. 端口以適應聽
- 26. 我可以在同一個端口中公開多個webHttpBinding端點嗎?
- 27. 服務可以有多個端點嗎?
- 28. @ @接口可以有多個類嗎?
- 29. 在Joyent的no.de開發環境中,我可以聽80以外的端口嗎?
- 30. 如何編寫python HTTP服務器以偵聽多個端口?
出於好奇,你有什麼用途呢? – Phrogz 2012-02-01 19:12:54
我使用標準4567端口開發了整個應用程序。這只是我自己的一個工具,但現在我會爲其他人「釋放」它,所以我認爲使用標準端口80會更好。然後,我認爲如果我可以在兩個端口上運行它,它會很好。看起來我只會去80。 – Radek 2012-02-01 23:25:59