iT邦幫忙

0

Proxmox虛擬機 x Fortigate x 網站架設

各位好
我有架設了一台Proxmox機器
裡面有三台虛擬機,皆為window10環境,其IP為
192.168.30.241 (DB用)
192.168.30.242 (網站伺服器1)
192.168.30.243 (網站伺服器2)

網站伺服器1、2,皆是使用APPSERV架設的
主要是php5與php7的環境差別而已

我有使用cloudflare,設定指定的網址會導向我機器的IP
並且我也有在Forigate上面有開通這個外網站IP對應到的內網IP設定

最後都設定完後,開啟網頁,結果是522,不知道哪個環節沒有設定好呢?
還請各位大神指點一下,感恩

https://ithelp.ithome.com.tw/upload/images/20210911/201378703S3iOwr9VF.png

https://ithelp.ithome.com.tw/upload/images/20210911/20137870h2EtPFhTo7.png

https://ithelp.ithome.com.tw/upload/images/20210911/20137870l0jrRj55mU.png

https://ithelp.ithome.com.tw/upload/images/20210911/201378705SsMrITP7S.png

https://ithelp.ithome.com.tw/upload/images/20210911/20137870uRMkpYt9DY.png

看更多先前的討論...收起先前的討論...
raytracy iT邦大神 1 級 ‧ 2021-09-11 16:50:33 檢舉
然後呢?......今天想問甚麼?
(不用三次聖爻就可以問...)
breakgod iT邦新手 5 級 ‧ 2021-09-11 16:55:11 檢舉
不好意思,剛發文沒有發完整,已將問題補上,謝謝
DennisLu iT邦新手 4 級 ‧ 2021-09-11 17:25:51 檢舉
你自己用私有IP 用瀏覽器 http://192.168.30.243 跟 telnet測試192.168.30.243:80
不行? 去搞定VM跟Proxmox。
以及
你自己用publicIP 用瀏覽器 http://publicIP 跟 telnet 測試 publicIP:80
由裡到外的測試都連得上嗎?
不行?但上面內部測試可以 確認一下FG哪個policy擋在前面還是沒設定好

瀏覽測試失敗的時候用https 還是 http ?
https的話不是80 port
breakgod iT邦新手 5 級 ‧ 2021-09-11 17:36:18 檢舉
本機與虛擬機的瀏覽器皆連不到http://publicIP:80
https的話,我知道不是80port,有另外設定443(附圖中的httpsService2)
breakgod iT邦新手 5 級 ‧ 2021-09-11 17:39:05 檢舉
http://publicIP
是要連去測ip的嗎?
這個我有連上:https://www.whatismyip.com/
breakgod iT邦新手 5 級 ‧ 2021-09-11 17:46:31 檢舉
使用虛擬機本身去run http://192.168.30.243,是有通的喔(已發表於上文中了)
DennisLu iT邦新手 4 級 ‧ 2021-09-11 17:53:54 檢舉
你瀏覽 domain name不通,那就先跳過那個機制,直接用實體IP瀏覽的意思
http://實體IP

如果實體IP瀏覽會通,那就是探討為何 domainname x cloudflare使用上就不行
0
mathewkl
iT邦研究生 5 級 ‧ 2021-09-11 20:28:46

用內網ip看只能確保網站是有成功架起來的
有試過在外部網路直接用外網ip瀏覽嗎?
有成功代表外部ip帶進內部ip的防火牆是成功的,這段我沒有看到你有提供相關資訊

最簡單的測試就是拿出你的手機用4G網路瀏覽
測試時注意該網站防火牆政策的http和https開放狀態還有自訂port

如果外網直接帶ip和port可以成功瀏覽(不要管憑證警告)就表示防火牆設定OK
就要往cloudflare查

官方的Troubleshooting
https://support.cloudflare.com/hc/en-us/articles/115003011431-Troubleshooting-Cloudflare-5XX-errors

有人架Wordpress 522的cloudflare問題排除
https://ryanwangblog.com/article/31144

也有人因為防火牆把cloudflare的IP擋掉了出現522
https://vector.cool/cloudflare-fix-522-error/

稍微google就看到很多種問題會引起522
到底是什麼原因引起的只能由樓主一一檢測排除

1
CyberSerge
iT邦好手 1 級 ‧ 2021-09-11 20:57:57

首先要把cloudflare設定改成"僅DNS"
如果這樣用punlic ip 或URL可以通就能限定是Cloudflare相關的問題

如果"僅DNS"依然不通下一步就是往Forigate研究
再下一步就是往下一個點(router)研究這才是系統性的排錯方式

1
raytracy
iT邦大神 1 級 ‧ 2021-09-12 11:05:45

我隨便猜: 你的內網 Web 沒有上 SSL 憑證, 所以 https (443) 還不通...

Cloudflare 預設都是使用 Port 443 SSL 去連你的 Origin Server (始源主機); 如果你自己的主機還沒有安裝 SSL, 無法使用 Port 443 的話, 請將 Cloudflare 選單上面的 SSL/TLS, 從 Full mode 改成 Flexible mode, 他才會用 port 80 去連你的主機....

當然, 這個前提是: 你原本的 port 80 public IP 對外是正常的....

我要發表回答

立即登入回答