การกําหนดค่าโฮสต์เสมือน

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

ลูกค้า Cloud ที่มีบัญชีแบบชำระเงินและลูกค้า Edge สำหรับลูกค้า Private Cloud ทั้งหมดจะสร้างโฮสต์เสมือนในองค์กรได้ ผู้ใช้ที่สร้างโฮสต์เสมือนต้องอยู่ในบทบาทผู้ดูแลระบบองค์กรหรือในบทบาทที่กำหนดเองซึ่งมีสิทธิ์แก้ไขโฮสต์เสมือน ผู้ใช้ในบทบาทอื่นๆ จะไม่มีสิทธิ์สร้างโฮสต์เสมือน

ดูวิดีโอแนะนำเกี่ยวกับโฮสต์เสมือน

การสร้างโฮสต์เสมือน

ใช้ขั้นตอนพื้นฐานต่อไปนี้เพื่อสร้างโฮสต์เสมือน ขั้นตอนจริงที่คุณใช้จะขึ้นอยู่กับว่าคุณเป็นลูกค้า Cloud หรือ Private Cloud รวมถึงเปิดใช้ TLS หรือไม่

  1. สร้างรายการ DNS และระเบียน CNAME สำหรับโดเมนที่เปิดเผยต่อสาธารณะของคุณ
  2. หากเปิดใช้ TLS บนโฮสต์เสมือน ให้ทำดังนี้
    1. สร้างและกำหนดค่าคีย์สโตร์โดยใช้กระบวนการที่อธิบายไว้ที่นี่: Keystores และ Truststore
    2. อัปโหลดใบรับรองและคีย์ไปยังคีย์สโตร์ ตรวจสอบว่าชื่อโดเมนที่ระบุโดยใบรับรองของคุณตรงกับชื่อแทนโฮสต์ที่คุณต้องการใช้สำหรับโฮสต์เสมือน
    3. สร้างการอ้างอิงไปยังคีย์สโตร์โดยใช้ Edge UI หรือ API ข้อมูลอ้างอิงระบุชื่อของคีย์สโตร์และประเภทการอ้างอิงเป็น KeyStore ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและแก้ไขข้อมูลอ้างอิงในการทำงานกับข้อมูลอ้างอิง
    4. หากคุณใช้ TLS แบบ 2 ทาง ให้สร้าง Truststore อัปโหลดใบรับรอง และสร้างการอ้างอิงไปยัง Truststore สร้าง Truststore โดยใช้กระบวนการที่อธิบายไว้ที่นี่: Keystores และ Truststore
  3. สร้างโฮสต์เสมือนโดยใช้ API สร้างโฮสต์เสมือน หากเปิดใช้ TLS โปรดระบุการอ้างอิงคีย์สโตร์ การอ้างอิง Truststore และชื่อแทนคีย์ที่ถูกต้อง
  4. หากคุณมีพร็อกซี API อยู่แล้ว ให้เพิ่มโฮสต์เสมือนไปยัง ProxyEndpoint ระบบจะเพิ่มโฮสต์เสมือนลงในพร็อกซี API ใหม่ทั้งหมดโดยอัตโนมัติ โปรดดูการกำหนดค่าพร็อกซี API เพื่อใช้โฮสต์เสมือน

หลังจากอัปเดตพร็อกซี API เพื่อใช้โฮสต์เสมือน และสร้างรายการ DNS และระเบียน CNAME สำหรับชื่อแทนโฮสต์ คุณจะเข้าถึงพร็อกซี API ได้ดังที่แสดงด้านล่าง

https://api.myCompany.com/v1/project-base-path/resource-path

เช่น

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

การสร้างโฮสต์เสมือนโดยใช้ API หรือ UI

คุณสามารถสร้างโฮสต์เสมือนโดยใช้ Edge API หรือ Edge UI

ตัวอย่างด้านล่างส่วนใหญ่ใช้ Edge API วิธีเข้าถึง UI เพื่อสร้าง แก้ไข และลบโฮสต์เสมือนใน Edge UI

  1. ลงชื่อเข้าใช้ apigee.com/edge

    Edge สำหรับลูกค้า Private Cloud จะใช้ http://ms-ip:9000 (ภายในองค์กร) โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ

  2. เลือก Admin > Virtual Hosts ในแถบนำทางด้านซ้าย
  3. เลือกสภาพแวดล้อม เช่น prod หรือ test
    โฮสต์เสมือนที่กำหนดไว้สำหรับสภาพแวดล้อมจะปรากฏขึ้น
  4. เลือก + โฮสต์เสมือนเพื่อสร้างโฮสต์เสมือน หรือเลือกชื่อของโฮสต์เสมือนที่มีอยู่เพื่อแก้ไข

การสร้างโฮสต์เสมือนสำหรับ HTTP

Edge สำหรับลูกค้า Private Cloud จะสร้างโฮสต์เสมือนโดยใช้ HTTP ได้

หากต้องการสร้างโฮสต์เสมือนที่ไม่รองรับ TLS ให้สร้างออบเจ็กต์ XML ที่กำหนดโฮสต์เสมือน เช่น ออบเจ็กต์ XML ต่อไปนี้กำหนดโฮสต์เสมือนที่ใช้โปรโตคอล HTTP

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>api.myCompany.com</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>80</Port>
</VirtualHost>

ในคำจำกัดความนี้ คุณจะ

  • ระบุ name เป็น myVHost ใช้ชื่อเพื่ออ้างอิงโฮสต์เสมือนในพร็อกซี API หรือในการเรียก API
  • ระบุชื่อแทนโฮสต์เป็น api.myCompany.com ซึ่งเป็นโดเมนที่เปิดเผยต่อสาธารณะซึ่งใช้ในการเข้าถึง API ตามที่กำหนดโดยคำจำกัดความของ DNS และระเบียน CNAME
  • ระบุหมายเลขพอร์ตเป็น 80 หากไม่ระบุ ระบบจะตั้งค่าพอร์ตเป็น 443 โดยค่าเริ่มต้น
  • มีพร็อพเพอร์ตี้เพิ่มเติมที่คุณสามารถตั้งค่าในโฮสต์เสมือน ดูข้อมูลอ้างอิงสำหรับพร็อพเพอร์ตี้ทั้งหมดได้ที่ข้อมูลอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน

หากคุณมีพร็อกซี API อยู่แล้ว ให้เพิ่มโฮสต์เสมือนไปยังองค์ประกอบ <HTTPConnection> ในปลายทางของพร็อกซี ระบบจะเพิ่มโฮสต์เสมือนลงในพร็อกซี API ใหม่ทั้งหมดโดยอัตโนมัติ โปรดดูการกำหนดค่าพร็อกซี API เพื่อใช้โฮสต์เสมือน หากคุณสร้างพร็อกซี API ใหม่ที่ไม่ควรเข้าถึงผ่านโฮสต์เสมือนหนึ่งๆ คุณต้องแก้ไขพร็อกซี API เพื่อนำโฮสต์เสมือนออกจาก ProxyEndpoint

จากนั้นคุณจะสามารถเข้าถึงพร็อกซี API ผ่านโฮสต์เสมือนนี้ได้โดยส่งคำขอเพื่อดำเนินการต่อไปนี้

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

สร้างโฮสต์เสมือนโดยใช้ API สร้างโฮสต์เสมือน ดังนี้

curl -X POST -H "Content-Type:application/xml" \
  http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
  -d '<VirtualHost name="myVHost">
        <HostAliases>
            <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>80</Port>
    </VirtualHost>' \
  -u sysAdminEmail:password

การสร้างโฮสต์เสมือนสำหรับ TLS ทางเดียว

ออบเจ็กต์ XML ต่อไปนี้กำหนดโฮสต์เสมือนสำหรับ TLS ทางเดียว

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>
</VirtualHost>

ในคำจำกัดความนี้ คุณเปิดใช้ TLS โดยการตั้งค่าองค์ประกอบ <Enable> เป็น "จริง" และใช้องค์ประกอบ <KeyStore> และ <KeyAliase> เพื่อระบุคีย์สโตร์และชื่อแทนคีย์ที่การเชื่อมต่อ TLS ใช้

โปรดดู TLS/SSL สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ TLS

กำลังตัดสินใจเกี่ยวกับวิธีระบุชื่อคีย์สโตร์และ Truststore ในโฮสต์เสมือน

เมื่อกำหนดค่าโฮสต์เสมือนให้รองรับ TLS ให้ระบุคีย์สโตร์โดยใช้การอ้างอิง การอ้างอิงคือตัวแปรที่มีชื่อคีย์สโตร์หรือ Truststore แทนการระบุชื่อคีย์สโตร์หรือ Truststore โดยตรง ตามที่แสดงด้านล่าง

    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>

ข้อดีของการใช้ข้อมูลอ้างอิงคือคุณสามารถเปลี่ยนค่าของข้อมูลอ้างอิงเพื่อเปลี่ยนคีย์สโตร์ที่ใช้โดยโฮสต์เสมือน ซึ่งโดยปกติแล้วเป็นเพราะใบรับรองในคีย์สโตร์ปัจจุบันกำลังจะหมดอายุในอนาคตอันใกล้ การเปลี่ยนค่าการอ้างอิงไม่ได้กำหนดให้คุณต้องรีสตาร์ทเราเตอร์ Edge ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและการแก้ไขข้อมูลอ้างอิงได้ที่การทำงานกับข้อมูลอ้างอิง

คุณจะใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore ได้เท่านั้น และจะใช้การอ้างอิงไปยังชื่อแทนไม่ได้ เมื่อคุณเปลี่ยนการอ้างอิงเป็นคีย์สโตร์ โปรดตรวจสอบว่าชื่อแทนของใบรับรองเป็นชื่อเดียวกับในคีย์สโตร์เดิม

ข้อจำกัดในการใช้การอ้างอิงคีย์สโตร์และ Truststore

คุณต้องคำนึงถึงข้อจำกัดต่อไปนี้เมื่อใช้การอ้างอิงไปยังคีย์สโตร์และ Truststore

  • คุณจะใช้การอ้างอิงคีย์สโตร์และ Truststore ในโฮสต์เสมือนได้ก็ต่อเมื่อคุณรองรับ SNI และสิ้นสุด SSL ในเราเตอร์ Apigee
  • หากคุณมีตัวจัดสรรภาระงานด้านหน้าเราเตอร์ Apigee และยุติ TLS บนตัวจัดสรรภาระงาน คุณจะใช้คีย์สโตร์และการอ้างอิง Truststore ในโฮสต์เสมือนไม่ได้

การสร้างโฮสต์เสมือนสำหรับ TLS แบบ 2 ทาง

หากต้องการเปิดใช้ TLS แบบ 2 ทาง ให้ตั้งค่าองค์ประกอบ <ClientAuthEnabled> เป็น true และระบุ Truststore โดยใช้การอ้างอิงกับองค์ประกอบ <TrustStore> Truststore เป็นผู้ออกใบรับรองของไคลเอ็นต์และเชน CA ของใบรับรอง ซึ่งจำเป็น นอกจากนี้ไคลเอ็นต์ต้องได้รับการกำหนดค่าอย่างถูกต้องสำหรับ TLS แบบ 2 ทาง

หากต้องการสร้างโฮสต์เสมือนสำหรับ TLS แบบ 2 ทาง ให้สร้างออบเจ็กต์ XML ที่กำหนดโฮสต์เสมือนดังนี้

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
</VirtualHost>

ในคำจำกัดความนี้ คุณจะ

  • เปิดใช้ TLS แบบ 2 ทางโดยตั้งค่า <ClientAuthEnabled> เป็น "จริง"
  • ระบุการอ้างอิงไปยัง Truststore โดยใช้องค์ประกอบ <TrustStore> Truststore เป็นผู้ออกใบรับรองของไคลเอ็นต์และเชน CA ของใบรับรอง ซึ่งจำเป็น

โปรดดู TLS/SSL สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ TLS

การแก้ไขโฮสต์เสมือน

ลูกค้า Cloud ที่มีบัญชีแบบชำระเงินและลูกค้า Edge สำหรับ Private Cloud ทั้งหมดจะใช้ API อัปเดตโฮสต์เสมือนเพื่ออัปเดตโฮสต์เสมือนได้ API นี้ให้คุณตั้งค่าพร็อพเพอร์ตี้ทั้งหมดสำหรับโฮสต์เสมือนตามที่อธิบายไว้ในการอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน

อัปเดตโฮสต์เสมือนโดยใช้ API อัปเดตโฮสต์เสมือน เมื่อใช้ API คุณต้องระบุคำจำกัดความที่สมบูรณ์ของโฮสต์เสมือนในเนื้อหาคำขอ ไม่ใช่เพียงองค์ประกอบที่คุณต้องการเปลี่ยนแปลง

ในตัวอย่างนี้ คุณตั้งค่าของพร็อพเพอร์ตี้ proxy_read_timeout

curl -X PUT -H "Content-Type:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
    -d '<VirtualHost  name="myTLSVHost">
         <HostAliases>
           <HostAlias>api.myCompany.com</HostAlias>
         </HostAliases>
         <Port>443</Port>
         <SSLInfo>
           <Enabled>true</Enabled>
           <ClientAuthEnabled>false</ClientAuthEnabled>
           <KeyStore>ref://myTestKeystoreRef</KeyStore>
           <KeyAlias>myKeyAlias</KeyAlias>
         </SSLInfo>
         <Properties>
           <Property name="proxy_read_timeout">50</Property>
         </Properties>
     </VirtualHost>' \
    -u orgAdminEmail:password

การลบโฮสต์เสมือน

ก่อนที่คุณจะลบโฮสต์เสมือนออกจากสภาพแวดล้อมได้ คุณต้องอัปเดตพร็อกซี API ที่อ้างอิงโฮสต์เสมือนเพื่อนำการอ้างอิงออก โปรดดูการกำหนดค่าพร็อกซี API เพื่อใช้โฮสต์เสมือน

ลบโฮสต์เสมือนโดยใช้ API ลบโฮสต์เสมือน ดังนี้

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
  -u orgAdminEmail:password

การดูข้อมูลเกี่ยวกับโฮสต์เสมือน

ดูข้อมูลเกี่ยวกับโฮสต์เสมือนที่กำหนดไว้ในสภาพแวดล้อม ดังที่อธิบายไว้ด้านล่าง

Edge

หากต้องการดูข้อมูลเกี่ยวกับโฮสต์เสมือนโดยใช้ Edge UI ให้ทำดังนี้

  1. ลงชื่อเข้าใช้ apigee.com/edge

    Edge สำหรับลูกค้า Private Cloud จะใช้ http://ms-ip:9000 (ภายในองค์กร) โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ

  2. เลือก Admin > Virtual Hosts ในแถบนำทางด้านซ้าย
  3. เลือกสภาพแวดล้อม เช่น prod หรือ test

    โฮสต์เสมือนที่กำหนดไว้สำหรับสภาพแวดล้อมจะปรากฏขึ้น ถ้ามีการกำหนดค่าโฮสต์เสมือนให้ใช้คีย์สโตร์หรือ Truststore ให้คลิกแสดงเพื่อดูข้อมูลเพิ่มเติม

หากมีการกำหนดค่าโฮสต์เสมือนให้ใช้ TLS/SSL ไอคอนแม่กุญแจจะปรากฏถัดจากชื่อโฮสต์เสมือน ซึ่งหมายความว่าได้อัปโหลดใบรับรอง TLS/SSL, คีย์ และเชนใบรับรองไปยัง Edge และเชื่อมโยงกับโฮสต์เสมือนแล้ว หากต้องการดูข้อมูลเกี่ยวกับใบรับรองที่มีอยู่ ให้ทำดังนี้

  1. เลือกผู้ดูแลระบบ > สภาพแวดล้อม > คีย์สโตร์ TLS ในแถบนำทางด้านซ้าย
  2. เลือกสภาพแวดล้อม (โดยทั่วไปคือ prod หรือ test)
  3. ขยายคีย์สโตร์เพื่อดูใบรับรอง

Classic Edge (Private Cloud)

หากต้องการดูข้อมูลเกี่ยวกับโฮสต์เสมือนโดยใช้ UI แบบคลาสสิกของ Edge

  1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ
  2. เลือก Admin > Virtual Hosts ในแถบนำทางด้านซ้าย
  3. เลือกสภาพแวดล้อม เช่น prod หรือ test
  4. คลิกแท็บโฮสต์เสมือน

    โฮสต์เสมือนที่กำหนดไว้สำหรับสภาพแวดล้อมจะปรากฏขึ้น ถ้ามีการกำหนดค่าโฮสต์เสมือนให้ใช้คีย์สโตร์หรือ Truststore ให้คลิกแสดงเพื่อดูข้อมูลเพิ่มเติม

    แท็บโฮสต์เสมือนจะแสดงข้อมูลเกี่ยวกับชื่อ พอร์ต และชื่อแทน และอื่นๆ

หากมีการกำหนดค่าโฮสต์เสมือนให้ใช้ TLS/SSL ไอคอนแม่กุญแจจะปรากฏถัดจากชื่อโฮสต์เสมือน ซึ่งหมายความว่าได้อัปโหลดใบรับรอง TLS/SSL, คีย์ และเชนใบรับรองไปยัง Edge และเชื่อมโยงกับโฮสต์เสมือนแล้ว หากต้องการดูข้อมูลเกี่ยวกับใบรับรองที่มีอยู่ ให้ทำดังนี้

  1. เลือกผู้ดูแลระบบ > ใบรับรอง TLS ในแถบนำทางด้านบน
  2. เลือกสภาพแวดล้อม (โดยทั่วไปคือ prod หรือ test)
  3. ขยายคีย์สโตร์เพื่อดูใบรับรอง

การดูโฮสต์เสมือนด้วย Edge API

นอกจากนี้คุณยังใช้ Edge API เพื่อดูข้อมูลเกี่ยวกับโฮสต์เสมือนได้ด้วย ตัวอย่างเช่น API List Virtual Hosts จะแสดงรายการโฮสต์เสมือนทั้งหมดดังนี้

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
    -u orgAdminEmail:pWord

โดยที่ orgAdminEmail:pWord คือชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบองค์กร และ org_name/env_name จะระบุองค์กรและสภาพแวดล้อมที่มีโฮสต์เสมือน ตัวอย่างคำตอบ

[
 "default",
 "secure"
]

หากต้องการดูข้อมูลเกี่ยวกับโฮสต์เสมือนที่เฉพาะเจาะจง ให้ใช้ รับโฮสต์เสมือน:

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
    -u orgAdminEmail:pWord

โดย vhost_name คือชื่อของโฮสต์เสมือน เช่น คุณอาจระบุ vhost_name เป็น "secure" เพื่อดูการกำหนดค่าของโฮสต์เสมือนที่ปลอดภัยเริ่มต้นซึ่งสร้างโดย Apigee ได้

<VirtualHost name="secure">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <Properties/>
    <Interfaces/>
    <RetryOptions/>
    <SSLInfo>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <KeyAlias>freetrial</KeyAlias>
        <KeyStore>ref://freetrial</KeyStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

การกำหนดค่าพร็อกซี API เพื่อใช้โฮสต์เสมือน

เมื่อคุณสร้างพร็อกซี API ใหม่ Edge จะกำหนดค่าพร็อกซีให้ใช้โฮสต์เสมือนทั้งหมดที่มีอยู่ในองค์กรโดยอัตโนมัติ คำขอที่ส่งไปยังพร็อกซี API ผ่านโฮสต์เสมือนจะใช้แบบฟอร์มต่อไปนี้

https://host-alias/proxy-base-path/resource-path

โดยที่

  • โดยทั่วไป host-alias จะเป็นชื่อ DNS ของโฮสต์เสมือน
  • จะมีการกำหนด proxy-base-path เมื่อคุณสร้างพร็อกซี API และจะไม่ซ้ำกันสำหรับพร็อกซี API แต่ละรายการ
  • resource-path เส้นทางไปยังทรัพยากรที่เข้าถึงได้ผ่านพร็อกซี API

การควบคุมโฮสต์เสมือนที่พร็อกซี API ใช้

ในการกำหนดค่า XML ของพร็อกซี API คุณจะใช้แท็ก virtualhost เพื่อระบุชื่อของโฮสต์เสมือนที่เชื่อมโยงกับพร็อกซี API ได้

<HTTPProxyConnection>
  <BasePath>/v1/my/proxy/basepath</BasePath>
  <VirtualHost>secure</VirtualHost>
  <VirtualHost>default</VirtualHost>
</HTTPProxyConnection>

เช่น <VirtualHost>secure</VirtualHost> หมายความว่าไคลเอ็นต์จะเรียกใช้พร็อกซี API โดยใช้ชื่อแทนโฮสต์ของโฮสต์เสมือน "ปลอดภัย" ได้

โดยทั่วไปคุณจะแก้ไขโฮสต์เสมือนที่เชื่อมโยงกับพร็อกซี API ได้ในกรณีต่อไปนี้

  • คุณสร้างโฮสต์เสมือนใหม่และมีพร็อกซี API อยู่แล้ว คุณต้องแก้ไขพร็อกซี API ที่มีอยู่เพื่อเพิ่มโฮสต์เสมือนใหม่
  • คุณสร้างพร็อกซี API ใหม่ที่ไม่ควรเข้าถึงผ่านโฮสต์เสมือนหนึ่งๆ คุณต้องแก้ไขพร็อกซี API เพื่อนำโฮสต์เสมือนออกจากคำจำกัดความ

วิธีแก้ไขโฮสต์เสมือนที่เชื่อมโยงกับพร็อกซี API

  1. เข้าถึงเครื่องมือแก้ไขพร็อกซี API ดังที่อธิบายด้านล่าง

    Edge

    วิธีเข้าถึงเครื่องมือแก้ไขพร็อกซี API โดยใช้ Edge UI

    1. ลงชื่อเข้าใช้ apigee.com/edge

      Edge สำหรับลูกค้า Private Cloud จะใช้ http://ms-ip:9000 (ภายในองค์กร) โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ

    2. เลือกพัฒนา > พร็อกซี API ในแถบนำทางด้านซ้าย
    3. เลือกพร็อกซี API ที่ต้องการแก้ไขในรายการ

    Classic Edge (Private Cloud)

    วิธีเข้าถึงเครื่องมือแก้ไขพร็อกซี API โดยใช้ UI แบบคลาสสิกของ Edge

    1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนดเซิร์ฟเวอร์การจัดการ
    2. เลือก API > พร็อกซี API ในแถบนำทางด้านบน
    3. เลือกพร็อกซี API ที่ต้องการแก้ไขในรายการ
  2. คลิกแท็บพัฒนา
  3. ในส่วนปลายทางของพร็อกซี ให้เลือกค่าเริ่มต้น
  4. ในพื้นที่โค้ด ให้ทำดังนี้
    1. นำองค์ประกอบ <VirtualHost> สำหรับโฮสต์เสมือนที่พร็อกซี API ไม่รองรับออก
    2. เพิ่มองค์ประกอบ <VirtualHost> ใหม่ด้วยชื่อของโฮสต์เสมือนใหม่ เช่น หากโฮสต์เสมือนใหม่ชื่อ MyVirtualHost ให้เพิ่มแท็กต่อไปนี้
      <HTTPProxyConnection>
        <BasePath>/v1/my/proxy/basepath</BasePath>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
        <VirtualHost>MyVirtualHost</VirtualHost>
      </HTTPProxyConnection>
  5. บันทึกพร็อกซี API หากทำให้พร็อกซี API ใช้งานได้แล้ว การบันทึกจะทำให้ใช้งานได้อีกครั้งด้วยการตั้งค่าใหม่

การตั้งค่า URL ฐานที่แสดงโดย Edge UI สำหรับพร็อกซี API

Edge UI จะแสดง URL ของพร็อกซี API ตามการตั้งค่าในโฮสต์เสมือนที่ตรงกับตำแหน่งที่ทำให้พร็อกซีใช้งานได้ จอแสดงผลนี้อาจมีหมายเลขพอร์ตเราเตอร์ของโฮสต์เสมือน

ในกรณีส่วนใหญ่ URL ที่แสดงใน Edge UI จะเป็น URL ที่ถูกต้องสำหรับส่งคำขอภายนอกไปยังพร็อกซี อย่างไรก็ตาม สำหรับการกำหนดค่าบางอย่าง URL ที่แสดงจะไม่ถูกต้อง ตัวอย่างเช่น การกำหนดค่าแบบใดแบบหนึ่งต่อไปนี้อาจทำให้ URL ที่แสดงนั้นแสดงไม่ตรงกับ URL จริงที่ใช้ส่งคำขอจากภายนอกไปยังพร็อกซี

  • การสิ้นสุด SSL จะเกิดขึ้นที่ตัวจัดสรรภาระงาน
  • การแมปพอร์ตเกิดขึ้นระหว่างตัวจัดสรรภาระงานและเราเตอร์ Apigee
  • ตัวจัดสรรภาระงานที่กำหนดค่าด้วยการเขียนเส้นทางใหม่

Edge รองรับแอตทริบิวต์บนโฮสต์เสมือนที่เรียกว่า <BaseUrl> ซึ่งให้คุณลบล้าง URL ที่แสดงโดย Edge UI ได้ นี่คือตัวอย่างที่แสดงออบเจ็กต์โฮสต์เสมือนที่มีแอตทริบิวต์ <BaseUrl> ในตัวอย่างนี้ ค่า "http://myCo.com" จะปรากฏใน UI ของ Edge

<VirtualHost name="myTLSVHost">
  <HostAliases>
    <HostAlias>api.myCompany.com</HostAlias>
  </HostAliases>
  <BaseUrl>http://myCo.com</BaseUrl>
  <Port>443</Port>
  <SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>false</ClientAuthEnabled>
    <KeyStore>ref://myTestKeystoreRef</KeyStore>
    <KeyAlias>myKeyAlias</KeyAlias>
  </SSLInfo>
</VirtualHost>

โปรดทราบว่าค่าของ <BaseUrl> ต้องมีโปรโตคอลด้วย (เช่น "http://" หรือ "https://")

หากไม่ได้ตั้งค่า <BaseUrl> URL เริ่มต้นที่แสดงผลโดย UI ของ Edge จะปรากฏเป็น "api.myCompany.com" ในขณะที่ชื่อแทนโฮสต์จริงคือ "http://myCo.com"