ฉันต้องการส่งคำขอ https ไปยังเว็บเซิร์ฟเวอร์ postgREST ซึ่งโดยการออกแบบไม่รองรับ https ฉันใช้เวลาหลายวันตอนนี้ฉันไม่รู้อีกต่อไป ...
การตั้งค่าของฉัน
- เซิร์ฟเวอร์ของฉันทำงานบน CentOS 7.9.2009
- ฉันมีโดเมนเว็บไซต์ที่ใช้ Wordpress เพื่อให้บริการเนื้อหาของฉัน
หน้าแรก/myuser/public_html
- ฉันตั้งค่า PostgREST 7.0.1 บนเซิร์ฟเวอร์ของฉันซึ่งทำงานบนพอร์ต 3000
- ฉันใช้ Apache/2.4.51 (cPanel)
ปัญหาของฉัน
- คำขอต่อไปนี้ใช้ได้ดี:
http://my-domain.com:3000/my_db_table
- ฉันต้องการเรียกใช้คำขอเดียวกันเช่น:
https://my-domain.com/api/my_db_table
- การกำหนดค่า Apache ของฉันอยู่ในไฟล์ "รวม" ดูเหมือนจะถูกโหลด (เนื่องจากข้อผิดพลาดเกิดขึ้นเมื่อฉันใส่ไวยากรณ์ผิดโดยเจตนาในไฟล์นี้) และมีลักษณะดังนี้:
<VirtualHost *:443>
DocumentRoot /
ServerName my-domain.com
ServerAlias my-domain
ErrorLog /home/myuser/public_html/api/error.log
CustomLog /home/myuser/public_html/api/access.log combined
SSLEngine on
SSLUseStapling off
SSLCertificateFile /etc/ssl/certs/server.my-domain.com.crt
SSLCertificateKeyFile /etc/ssl/private/server.my-domain.com.key
<Location /api/ >
ProxyPreserveHost On
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
</Location>
</VirtualHost>
- วิ่ง
httpd -t
ผลตอบแทน ไวยากรณ์ตกลง
- หลังจากการเปลี่ยนแปลงของฉัน ฉันเรียกใช้
sudo systemctl รีสตาร์ท httpd
- เมื่อฉันพยายามทำตามคำขอเช่น
curl -i https://my-domain.com/api/my_db_table
ฉันถูกนำไปที่หน้า 404 ของเว็บไซต์ Wordpress ของฉัน
- เดอะ
บันทึกข้อผิดพลาด
ไฟล์ของการกำหนดค่า apache ของฉันไม่มีข้อผิดพลาดใด ๆ (รวมข้อผิดพลาดสำหรับการเย็บเล่มซึ่งฉันแก้ไขโดยเพิ่มบรรทัด SSLUseStapling ปิด
ในการกำหนดค่าของฉัน)
ฉันไม่รู้จะทำอย่างไรอีกต่อไป และเนื่องจากฉันไม่มีบันทึกข้อผิดพลาด ฉันไม่รู้ด้วยซ้ำว่าจะเริ่มแก้ไขข้อบกพร่องอย่างไร ฉันยินดีที่จะบอกใบ้ใด ๆ ที่ใครบางคนสามารถให้ฉันได้