2013-03-16 81 views
6

我試圖建立一個簡單的靜態網站,我有一個問題與nginx的複雜的一些事情,最顯着的是我的ISP阻止所有入站端口80流量的事實。Nginx隱藏轉發的端口號

首先,我得到了一個網站轉發設置,以便www.mysite.com將重定向到mysite.com:8000,然後設置我的路由器將端口8000轉發到運行nginx的服務器。這會繞過我的ISP在80端口的阻塞。我現在試圖讓服務器上的nginx將端口8000上的請求代理到端口80上的虛擬主機,以便該網站在加載後顯示爲mysite.com比mysite.com:8000。

我一直在努力做到這一點與nginx的proxy_pass指令,但無論我做什麼該網站總是顯示爲mysite.com:8000。

這是我到目前爲止有:

server { 
    listen [::]:8000 

    server_name mysite.com; 

    location/{ 
    proxy_pass http://127.0.0.1:80; 
    proxy_redirect default; 
    proxy_set_header Host    $http_host; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto http; 
    } 
} 

server { 
    listen 127.0.0.1:80; 

    server_name mysite.com; 

    root /var/www/homepage; 
    index index.html; 

    . 
    . (non-relevant stuff) 
    . 
} 

鏈接到實際的站點:http://www.bjacobel.com

我也試着通過在路由器轉發端口8000到端口80,且要做到這一點nginx在端口80上偵聽,但其中的8000:URL仍然顯示。

感謝您的幫助!

回答

3

的根重定向服務問題不在於設置,但與第一網絡向前 - 它的工作原理通過重定向請求的URL(http://www.yoursite.com)到新的URL(http://yoursite.com:8000

因此,這已經到位,請求到達時您的設置,並且您不能像您提供的那樣將其更改回端口80 r阻止它。

您可以使用框架集作爲轉發器(「Web 0.5」)或使用它。

2

在住宅連接上託管公共Web服務器的警告字通常是針對ISP的服務條款。

瀏覽器將始終顯示8080,因爲需要在端口8080上啓動HTTP連接才能訪問您的網站。如果您可以「隱藏」部分網址,請考慮安全問題。

唯一的解決辦法是舉辦一個代理服務器或服務器上的網站框架,可以在端口80訪問此外,也有可能會被重定向到端口80到8080