พอร์ทัลบริการสำหรับนักพัฒนาแอป v. 4.17.05
การติดตั้งพอร์ทัลใน Private Cloud ที่ Apigee แนะนำทั้งหมดกำหนดให้พอร์ทัลต้องอยู่หลังตัวจัดสรรภาระงาน ดังนั้น คุณจึงกำหนดค่า TLS ในตัวจัดสรรภาระงานเอง ไม่ใช่ในพอร์ทัล ดังนั้นขั้นตอนที่คุณใช้ในการกำหนดค่า TLS จึงขึ้นอยู่กับตัวจัดสรรภาระงาน
อย่างไรก็ตาม คุณสามารถกำหนดค่า TLS ในเว็บเซิร์ฟเวอร์ที่โฮสต์พอร์ทัลได้หากจำเป็น
ดูภาพรวมของการใช้ TLS ในพอร์ทัลได้ที่หัวข้อการใช้ TLS ในพอร์ทัล
สำหรับพอร์ทัลที่ทำงานบน Apache
หากการติดตั้งพอร์ทัลใช้เว็บเซิร์ฟเวอร์ Apache ให้ทำดังนี้
- รับคีย์และใบรับรอง TLS
- ตรวจสอบว่าคุณติดตั้ง mod_ssl:
> yum install mod_ssl - อัปเดต /etc/httpd/conf/httpd.conf ดังนี้
- หากต้องการปิดใช้การเข้าถึง HTTP ในพอร์ต 80 ให้ค้นหา "Listen 80" และใส่เครื่องหมายคอมเมนต์ไว้
- เพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของไฟล์
LoadModule ssl_module modules/mod_ssl.so
Listen 443
- ตั้งค่าโฮสต์เสมือนโดยแก้ไข /etc/httpd/conf/vhosts/devportal.conf เพื่อเพิ่มสิ่งต่อไปนี้
<VirtualHost *:443>
ServerName localhost
SSLEngine on
SSLCertificateFile "<public cert path>"
SSLCertificateKeyFile "<private key path>"
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
นอกจากนี้ ให้ทำเครื่องหมายคำจำกัดความ VirtualHost ที่มีอยู่เป็นความคิดเห็นหากคุณไม่ต้องการใช้ HTTP - เนื่องจาก TLS ได้รับการกำหนดค่าใน httpd.conf คุณจึงไม่จำเป็นต้องใช้ ssl.conf:
> mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig - รีสตาร์ท Apache:
> service httpd restart
ระบบอาจแจ้งให้คุณป้อนพาสเฟรสสำหรับไฟล์คีย์
คุณควรเข้าถึงพอร์ทัลผ่าน TLS ได้
สำหรับพอร์ทัลที่ทำงานบน Nginx
โดยค่าเริ่มต้น พอร์ทัลที่ใช้เว็บเซิร์ฟเวอร์ Nginx จะคอยฟังคำขอ HTTP ในพอร์ต 8079 หากคุณเปิดใช้ TLS พอร์ทัลจะรอรับเฉพาะคำขอ HTTPS ในพอร์ต 8079 กล่าวคือ คุณสามารถกำหนดค่าพอร์ทัลให้รอรับคำขอ HTTP หรือคำขอ HTTPS ได้ แต่จะกำหนดค่าให้รอรับทั้ง 2 อย่างไม่ได้
นอกจากนี้ คุณยังเปลี่ยนหมายเลขพอร์ตได้ตามที่อธิบายไว้ในหัวข้อตั้งค่าพอร์ต HTTP ที่พอร์ทัลใช้
หากการติดตั้งพอร์ทัลใช้เว็บเซิร์ฟเวอร์ Nginx ให้ทำดังนี้
- รับคีย์และใบรับรอง TLS สำหรับตัวอย่างนี้ ใบรับรองจะอยู่ในไฟล์ชื่อ server.crt และคีย์จะอยู่ใน server.key
- อัปโหลดใบรับรองและคีย์ไปยังเซิร์ฟเวอร์พอร์ทัลที่ /opt/apigee/customer/nginx/ssl
- เปลี่ยนเจ้าของใบรับรองและคีย์เป็นผู้ใช้ "apigee":
> chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.crt
> chown apigee:apigee /opt/apigee/customer/nginx/ssl/server.key - เปิด /opt/apigee/customer/application/drupal-devportal.properties ในเครื่องมือแก้ไข หากไม่มีไฟล์และไดเรกทอรี ให้สร้างขึ้นมา
- ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ใน drupal-devportal.properties:
conf_devportal_ssl_block=ssl on; ssl_certificate /opt/apigee/customer/nginx/ssl/server.crt; ssl_certificate_key /opt/apigee/customer/nginx/ssl/server.key;conf_devportal_http_https_redirect=conf_devportal_fastcgi_https=fastcgi_param HTTPS on; fastcgi_param HTTP_SCHEME https;
สำหรับ conf_devportal_ssl_block ให้ระบุเส้นทางไปยังไฟล์ใบรับรองและไฟล์คีย์ คุณไม่จำเป็นต้องแก้ไขพร็อพเพอร์ตี้อื่นๆ - บันทึกไฟล์
- รีสตาร์ทพอร์ทัล:
/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal restart
คุณควรเข้าถึงพอร์ทัลผ่าน TLS ได้