大家和我一樣有沒有在項目上線之後遇到服務器需要備案的問題呢?
遇到這個問題的原因:
域名沒有備案,可是我發現我域名本案後還是無法通過域名直接解析到服務器80端口
所以我百度後發現 ,服務器竟然也要備案,而且備案步驟,手續與域名備案相比是真的麻煩。
原諒我是真的無法接受個人的學習資料建個網頁還要經過如此之多的備案步驟。
所以呢?通過使用實際使用域名解析到對應網站給出我處理備案問題的幾個方式?
一 學習使用 ,簡單添加端口就好
第一 你得有一個備案過的二級域名(域名備案)
當我們輸入 http://xxx.com時,默認會解析到80端口,然後你就被重定向到備案頁面了。
所以通過輸入 http://xxx.com:port跳轉到你的網頁,注意port 不能是80,443端口。
二 不帶端口跳轉
我在實際使用過程中發現 直接ip訪問能夠正常顯示頁面,但通過域名訪問頁面會被重定向。
並且通過查閱資料發現,國外的服務器是不需要備案就能夠被正常解析的。
所以,通過這兩點。我想到我前段時間使用過nginx的反向代理來解決前端到後端的請求。那麼我是不是可以域名解析到國外服務器,然後在轉發給國內服務器呢?
我覺得是可以的,所以我就去嘗試了一下。
剛好,我有一臺用來個人瀏覽國外資訊,搭建ss用的openvz的vps,價格便宜(12$/year)。
我下載安裝好nginx後,測試nginx啓動成功後。就去修改
nginx.conf中的配置信息
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
location / {
proxy_pass 國內服務器中你的項目的地址;
}
//下面的內容是解決js等靜態資源無法找到的問題
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
proxy_pass 國內服務器中你的項目的地址;
}
location ~ .*\.(js|css)?$ {
proxy_pass 國內服務器中你的項目的地址;
}
這樣配置後依然發現被重定向到域名註冊頁面。排查發現,能夠正常解析到國外vps的80端口。問題應該是出在nginx轉發的過程中
轉發地址我是寫的ip地址,不是域名,那爲什麼直接輸入
國內服務器中你的項目的地址
能夠正常顯示,轉發過去就不行了呢?
這位知乎用戶的回答給了我答案(無法點擊進入他的主頁所以原諒我沒辦法詳細顯示回答的作者信息)
https://www.zhihu.com/question/31752003
所以我去掉了nginx.conf中的這句配置
proxy_set_header Host $host;
重啓nginx服務。項目正常啓動。測試成功。