WordPress位於reverse proxy後的設定方式

WordPress位於reverse proxy後的設定方式

參考文章 https://medium.com/@tyh409700530/nginx-reverse-proxy-wordpress-in-https-mode-a21658f23978 ,使用 nginx,於 nginx 設定檔設定:

# location 設定
location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $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-Host $server_name;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_redirect off;
}

確保wp-config.php加入以下原始碼,否則使用HTTPS連線時,有機會遇到redirect loop (HTTP 302):

if (isset($_SERVER[‘HTTP_X_FORWARDED_HOST’])) {
    $_SERVER[‘HTTP_HOST’] = $_SERVER[‘HTTP_X_FORWARDED_HOST’];
}
if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’])) {
    if ($_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’) {
        $_SERVER[‘HTTPS’] = ‘on’;
    }
}

官網提供的範例是:

if( strpos( $_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false )
    $_SERVER['HTTPS'] = 'on';
Linode詭異問題

Linode詭異問題

前一陣子,由於收到AWS即將針對IPv4 address收費的公告,便嘗試將Lightsail轉移成IPv6-only lightsail,沒想到容器移到了IPv6-only環境後,原本提供服務的容器如nginx接收request是沒問題,但若是由容器主動發起對外連線就不行了,cloudflare tunnel也是因為同樣的原因失效,由於無法短時間解決,便決定移往Linode。

這次移往Linode,算是我第二次申租,前一次是數年前衝著前幾月的免費額度姑且先試試,曾遇過VPS突然死機,需要Linode介入處理(Linode還自己開立ticket),那時候就讓我對Linode品質打了個問號,後來發現AWS Lightsail物美價廉,免費額度結束後,便移往AWS。

那麼……這次重回Linode遇到的問題是什麼呢?──CPU utilization異常飆高,原因不明。使用不到一週的時間內,共遇到2次,第一次自復,第二次則是CPU吃到SSH都無法登入,請求協助只會提供一些沒用的top指令,都登入不了了,我要如何下指令呢?一氣之下,砍掉VPS,再度重回AWS懷抱。至於IPv4 address費用?3美元,就付吧。

老電腦續命──AMD Ryzen 3 3200G上陣!

老電腦續命──AMD Ryzen 3 3200G上陣!

家裡仍有幾部年齡十年以上的PC在服役中,其中一台是2008年自組的Intel 775平台,核心零組件是:

CPUIntel Pentium Dual-Core E5200
MotherboardASUS P5QL-EM
MemoryG.Skill F2-6400CL4D-4GBHK (DDR2-800 2G*2)
VGAMSI R4770 Cyclone
HDDWD WD6400AAKS (640G Blue)
PSUSeasonic S12 II 430W Bronze
配備第1版

後來因為愈來愈跟不上時代,或是零件故障,也陸陸續續換過幾次零組件,但都沒有脫離Intel 775平台(P5QL-EM真能撐啊!)。

Read More Read More

RouterOS v6經由GRE Tunnel路由至目的地

RouterOS v6經由GRE Tunnel路由至目的地

若A、B兩地之間已建立GRE Tunnel,且A地想經由B地再路由到某地(例如Internet),可進行以下設定:

  1. 新增路由表
    在IP選項的Routes子選項的Routes頁籤,新增一筆,Dst. address可填0.0.0.0/0、Gateway填寫gre-tunnel1、Routing Mark填寫想要的名稱,例如:Route-to-SiteB
  2. 新增路由規則
    在IP選項的Routes子選項的Rules頁籤,新增一筆,Src. address填寫本地端的某設備IP、Dst. address填寫0.0.0.0/0,table填寫Route-to-SiteB,action填寫lookup

即設定完成!

RouterOS在二地之間建立GRE tunnel over IPSec

RouterOS在二地之間建立GRE tunnel over IPSec

原本在二個住處間建立了IPSec tunnel,使兩地之間的設備可以互相通訊,例如讓B地的小米攝影機能將影像檔上拋至A地的SAMBA伺服器。前一陣子,又有了策略路由需求,例如讓A地某設備經由B地再路由到Internet,但剛好一地是EdgeRouter-X,一地是MikroTik RB750Gr3,被設定搞得很頭疼。恰好雙十一時又淘了一台RB750Gr3回來,本來是要當備用機的,趁著元旦連假有空,便把EdgeRouter-X換成RB750Gr3。如此一來,兩地都是MikroTik設備,RouterOS的設定變得輕鬆許多。

為了滿足前述的PBR (policy-based routing)需求,爬了不少文章,最後決定採用GRE tunnel over IPSec,在此將設定方式簡單做一下筆記:

  1. 建立GRE Tunnel
    在Interfaces選項的GRE Tunnel頁籤,新增一個GRE tunnel,填寫Name、Remote Address、IPSec Secret、取消Allow Fast Path
  2. 為GRE Tunnel介面(例:gre-tunnel1)設定IP位址
    在IP選項的Addresses子選項新增IP,填寫Address和Interfaces。記得兩地的address要錯開,但是必須是同一個網段,例如可以各別填寫172.16.0.1/24和172.16.0.2/24
  3. 建立路由規則
    針對A地RouterOS,可設定往B地網段的閘道為GRE tunnel介面,如gre-tunnel1
  4. 建立NAT規則
    可在srcnat表建立A地網段到B地網段的accept規則

註:只要兩地都填寫一樣的IPSec Secret且IPSec profile有共同的加密和雜湊演算法,RouterOS即可自動建立IPSec Tunnel,不必自己額外進行IPSec設定。

米家攝影機如何上傳影像至另一網段的NAS

米家攝影機如何上傳影像至另一網段的NAS

我在A、B兩地都安裝了小米攝影機,其中A地有另外用Linux架設了SAMBA Server,供小米攝影機上傳影像(米家app的NAS設定)。為了讓影像資源的管理集中,而且不另外在B地架設SAMBA Server,便有了讓B地攝影機將影像上傳至A地SAMBA Server(後稱SAMBA_A)的想法誕生。

上回說到我在A、B兩地之間建了Site-To-Site VPN (IPSec Tunnel),因此A、B兩地之間的互連是沒有問題的。但我在米家app裡為B地攝影機進行NAS設定時還是卡關了,是什麼問題呢?

Read More Read More

RouterOS新增Hairpin NAT功能

RouterOS新增Hairpin NAT功能

今天在RouterOS的區網中,使用app觀看小米攝影機,發現無法觀看(使用行動4G則正常),才發現RouterOS沒有開啟Hairpin NAT(NAT loopback)功能。

在參考 https://stoneapp.tech/cavern/post.php?pid=758 網頁設定後,成功啟用 Hairpin NAT 功能,小米攝影機也可正常觀看。

設定方法

在 IP / Firewall 功能頁,選擇 NAT 頁籤,新增以下 SNAT 規則:

  • action=masquerade
  • chain=srcnat
  • out-interface=bridge
  • src-address=區網網段 (例:192.168.1.0/24)
EdgeRouter與MikroTik之間的Site-To-Site VPN (IPSec)設定

EdgeRouter與MikroTik之間的Site-To-Site VPN (IPSec)設定

近兩年在家裡佈建了許多小米攝影機,同時用一台舊PC安裝Ubuntu Server,運行SAMBA服務來充當NAS,供攝影機將記憶卡裡的影片上傳。而我在另一個比較少住的住處也同樣安裝了小米攝影機,因為人沒有每天住,為了用電安全,所以不想搬台PC過去24×7運行。左思右想,同時做了一些功課,覺得在兩地之間建立Site-To-Site VPN連線應該是比較好的做法,無奈其中一地使用市售分享器ASUS RT-AC1200G PLUS,對Site-To-Site VPN支援度不足,這個想法便一直擱置。

直到最近,因中華電信升速至300M的緣故,購入了Ubiquiti EdgeRouter-X和MikroTik RB750Gr3這兩台設備後,因為支援的網路功能較市售路由器來得豐富且靈活,便抽了個空做實驗,順便當做MikroTik RouterOS設定練習。

架構圖

下圖是目前成功建起來的Site-To-Site VPN架構,兩地網路架構如下。

左地(Ubiquiti EdgeRouter-X)

  • WAN: 中華電信PPPoE(浮動制)
  • LAN: 192.168.100.1/24
  • DDNS: home1.myddns(示範用,非真實域名)

右地(MikroTik RB750Gr3)

  • WAN: 中華電信PPPoE(浮動制)
  • LAN: 172.16.100.1/24
  • DDNS: home2.myddns(示範用,非真實域名)

目標

  • 左地設備連到172.16.100.0/24網段時,透過IPSec Tunnel連至右地;其餘上網功能直接上Internet
  • 右地設備連到192.168.100.0/24網段時,透過IPSec Tunnel連至左地;其餘上網功能直接上Internet

Read More Read More

MikroTik RB750Gr3入手

MikroTik RB750Gr3入手

之前家中網路升速時,購買了一台EdgeRouter做為主要的路由器,在把玩一陣子後,發現設定起來也不輕鬆,於是我跑去看了一些影片,稍微瞭解一下原本被我認定為設定比較複雜的MikroTik。不接觸還好,一接觸之後,便一直心心念念想入手一台來試試,畢竟RouterOS的功能好像比EdgeRouter還多(?),於是就在VGN V98Pro出貨後,也訂了一台RB750Gr3,再一起集運回來。

不得不說,3C商品在淘寶和蝦皮的價差實在有點多,若不考慮保固想賭一下的話,在淘寶買可以省下不少錢。

在此先曬一下開箱照,之後RouterOS玩出心得再補上。

VGN V98Pro鍵盤入手

VGN V98Pro鍵盤入手

長久以來,由於一直找不到自己喜歡的手感的鍵盤,再加上左手手指疼痛的問題(可能是滑手機,加上前幾年長時間練琴不當施力),一直想再挑一個適合工作的鍵盤,畢竟在IT領域就是每天和電腦為伍,不管是coding、系統運維、甚至是日常的辦公文書,都免不了要和鍵盤接觸。

嘴上說要買個自己想要的鍵盤,但又不想花太多錢(如果買來覺得不適合也是個麻煩),原本都在關注RK的鍵盤,但沒想到看上眼的鍵盤總是在缺貨狀態。今年618,同事B君正巧也想買個新鍵盤,最後選了VGN V98Pro;而我一開始並沒有特別關注V98Pro是把怎麼樣的鍵盤,直到在ptt鍵鼠版偶爾爬到文章,又在b站看了幾部測試視頻後,便挑了個V98Pro便宜線性軸的版本下單了。

出貨的時間相當漫長,再加上這次是走私人集運海運(想省一點運費),6/19下單,6/25發貨,等到入手已是7/6。賣家出貨並沒有額外的氣泡袋保護,僅僅依賴包裝盒內的兩塊泡綿,好在集運有額外花錢多了一層厚氣泡袋保護,產品入手時相當完整,外盒也沒有損傷。

Read More Read More