การแยก domain แล้ว reverse proxy ไปตาม port ที่ต้องการโดยใช้ Apache

| Apache | 1057 | 980 วันที่แล้ว
ในบทความนี้ผมจะทำการแยก domain แล้วทำการ reverse proxy ไปตามพอร์ตต่าง ๆ ที่ต้องการ

สมมติ ในที่นี้ผมมี domain อยู่ 2 โดเมน คือ doesystem.info กับ doesystem.com
โดย doesystem.info ผมจะให้มัน reverse ไปที่ port 3000
ส่วน doesystem.com ผมจะให้มัน reverse ไปที่ port 3001

ในที่นี้ผมจะใช้ตัว Apache ทำให้มันเป็น Virtual Host แล้วทำการ reverse ไปตามพอร์ตที่ต้องการ

ก่อนอื่นผมก็ไปเปิดใช้ Virtual hosts โดยเข้าไปที่ conf/httpd.conf จากนั้นมองหา

# Virtual hosts
Include conf/extra/httpd-vhosts.conf
แล้วทำการเอาคอมเม้นออก เพื่อทำการ include ไฟล์ httpd-vhosts.conf เข้ามาใช้ด้วยใน Project จากนั้นเราก็ไปทำการ config virtual host ในไฟล์ที่ชื่อว่า httpd-vhosts.conf เมื่อเข้าไปแล้ว ผมก็เพิ่ม
<virtualhost>
    ServerAdmin [email protected]
    ServerName www.doesystem.info
    ProxyPreserveHost On
 
    # setup the proxy
    <proxy>
        Order allow,deny
        Allow from all
    </proxy>
 
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</virtualhost>
 
<virtualhost>
    ServerAdmin [email protected]
    ServerName www.doesystem.com
    ProxyPreserveHost On
 
    # setup the proxy
    <proxy>
        Order allow,deny
        Allow from all
    </proxy>
 
    ProxyPass / http://localhost:3001/
    ProxyPassReverse / http://localhost:3001/
</virtualhost>
เพียงแคนี้เวลาเข้ามาจากโดเมน doesystem.info มันก็จะ reverse ไปที่ http://localhost:3000 ส่วนเวลาเข้าจาก doesystem.con มันก็จะ reverse ไปที่ http://localhost:3001
comments

[1]
Adobe-PDF
980 D
[1]
Android
871 D
[40]
Animal
964 D
[1]
Apache
980 D
[2]
[10]
[2]
CMS-SMF
981 D
[1]
[3]
[1]
Database
980 D
[4]
[1]
Docker
875 D
[1]
Fruit
964 D
[2]
Git
767 D
[5]
HTML
767 D
[1]
Housework
969 D
[2]
IT
961 D
[2]
Imacro
981 D
[17]
Java
764 D
[1]
Java-Web
871 D
[1]
[2]
MQL5
793 D
[3]
MakeMoney
766 D
[18]
[1]
Maven
765 D
[1]
Mobile
978 D
[1]
NodeJs
766 D
[3]
Physics
762 D
[4]
PugJS
766 D
[2]
React
776 D
[132]
Science
963 D
[1]
[2]
Spring
765 D
[7]
[2]
[1]
[4]
Ubuntu
930 D
[1]
WebLogic
962 D
[4]