寫作時(shí)間(2020年1月)
方案一
使用花生殼的內(nèi)網(wǎng)映射,將內(nèi)網(wǎng)80映射至花生殼提供的公網(wǎng)服務(wù)器的80,但是這樣就浪費(fèi)了家里公網(wǎng)的帶寬。以筆者為例,家中公網(wǎng)下行帶寬300M,上行30-40M,如果買公網(wǎng)服務(wù)器1M的帶寬1個(gè)月就要50+rmb,對個(gè)人建站兼職是燒錢。
那么有沒有什么辦法解決呢?
方案二
如果你不在意的話,顯然使用非80端口完全不影響使用。你說用戶不想輸入端口號(hào)?但實(shí)際上用戶往往連網(wǎng)址也不會(huì)輸入。
方案三
如果真的很在意,花生殼的dns解析有隱藏url功能。10元/年。
方案四
自建服務(wù)器,自己寫轉(zhuǎn)發(fā)腳本,上述隱藏url的原理就是將你配置的域名映射到公網(wǎng)的一個(gè)網(wǎng)站,該網(wǎng)站會(huì)根據(jù)你的配置生成一個(gè)html,html中包含一個(gè)iframe,指向你的帶端口號(hào)的網(wǎng)址。說到這,如果你不是web小白,你自己也能實(shí)現(xiàn)這么一個(gè)功能了吧?當(dāng)然你完全沒必要自己實(shí)現(xiàn)這樣的功能,因?yàn)檫@個(gè)功能需要一個(gè)服務(wù)器來做,同時(shí)你還需要自己寫代碼。相比10年一元的價(jià)格,服務(wù)器的價(jià)格恐怕更難接受。
配置好隱藏url后,如果你的網(wǎng)站header中的X-Frame-Options是deny的話,依然無法訪問,控制臺(tái)會(huì)報(bào)錯(cuò)
解決辦法,如果你用的nginx做轉(zhuǎn)發(fā),加入下面兩行配置
proxy_hide_header Content-Security-Policy;
proxy_hide_header X-Frame-Options;
如果你用chrome訪問,可以使用Ignore X-Frame headers插件。
總之報(bào)錯(cuò)就是因?yàn)閔ttp的X-Frame-Options特性
如果你的瀏覽器支持dns的srv功能,在dns中配置srv記錄也可以,但是現(xiàn)在主流瀏覽器都不支持哦。據(jù)說http1.2有可能支持。