2015-08-15 263 views
-1

如果我創建和HTTP服務器使用的NodeJS這樣的:HTTP服務器端口號

var http = require("http"); 
http.createServer(function (request, response) { 

    // Send the HTTP header 
    // HTTP Status: 200 : OK 
    // Content Type: text/plain 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 

    // Send the response body as "Hello World" 
    response.end('Hello World\n'); 
}).listen(8081); 

// Console will print the message 
console.log('Server running at http://127.0.0.1:8081/'); 

意思是,如果我使用的是虛擬主機服務,網站的URL總是需要以某種方式包含8081端口? URL如何顯示?

回答

1

是你總是需要與請求的端口號,但是如果你使用相對鏈接,這將不會出現這樣的問題。

<a href="/foo">Good idea</a> 
<a href="http://yousite.com:8081">Questionable idea</a> 

您也可以根據您的應用程序查看反向代理和虛擬主機。

+0

我的意思名字「somename」,你怎麼知道你需要輸入「www.somename.com:8081」而不是「www.somename.com」?我怎樣才能讓請求發送到正確的端口,而無需用戶指定它? – CuriousGuy

+0

某些東西(例如Apache)必須在端口80上偵聽並執行重定向,否則您可以使用反向代理。 – Victory

1

如果您使用端口80公開服務器,則意味着http和/或通過443表示https。你的網址不需要端口。除此之外,如果您使用的是不同的端口,那麼你可以使用ngnix或HAProxy的揭露他們在80或443以下沒有這一點,如果你想訪問這個網站,你會最終給端口的URL

相關問題