ฉันกำลังพยายามตั้งค่า reverse proxy อย่างง่ายสำหรับ http และ https สำหรับแอป 4D ที่ทำงานบน windows server 2012 R2
ฉันให้ http ทำงาน แต่ไม่ใช่ https เมื่อฉันเปิดไฟร์วอลล์สาธารณะและเข้าถึงแอป 4D โดยตรง https ก็ใช้งานได้ดี
ใครช่วยบอกใบ้ให้ฉันหน่อยได้ไหมว่าฉันทำอะไรผิดหรือต้องทำอย่างไรเพื่อให้ https ทำงานได้
นี่คือสิ่งที่ฉันทำ:
ฉันเปิดแบบฟอร์มการตั้งค่าพร็อกซีย้อนกลับ ARR สำหรับเซิร์ฟเวอร์หลักและป้อนค่าต่อไปนี้:
เปิดใช้งานพร็อกซี
ทะลุผ่าน
ให้มีชีวิตอยู่
หมดเวลา=120
X-ส่งต่อ-สำหรับ
รวมพอร์ต TCP จาก IP ไคลเอนต์
ระยะเวลาแคชหน่วยความจำ = 60 วินาที
เปิดใช้งานดิสก์แคช
ละเว้นสตริงข้อความค้นหา
บัฟเฟอร์ตอบกลับ = 4096 kb
เกณฑ์ = 256 กิโลไบต์
ใช้ Url Rewrite เพื่อตรวจสอบคำขอที่เข้ามา
พร็อกซีย้อนกลับ = DNSName:LocalHttpPort
หลังจากบันทึกแบบฟอร์มการตั้งค่าพร็อกซีย้อนกลับ ARR แล้ว กฎการเขียนซ้ำ URL สองข้อ âARR_server_proxyâ และ âARR_server_proxy_SSLâ จะถูกสร้างขึ้นโดยอัตโนมัติ
สิ่งที่ฉันต้องทำคือกรอกข้อมูลในช่องสำหรับ URL ที่บันทึก
สำหรับกฎ http ที่ฉันป้อน: âhttp://DNSName:LocalHttpPort/{R0}â
สำหรับกฎ https ที่ฉันป้อน: âhttps://DNSName:LocalSSLPort/{R0}â
ดังที่ฉันได้กล่าวไว้ข้างต้นการตั้งค่าเหล่านี้ใช้ได้กับ http เมื่อฉันลองใช้ https เบราว์เซอร์หมดเวลา
ฉันอ่านเจอว่าต้องนำเข้าใบรับรอง SSL + รหัสส่วนตัวที่ฉันตั้งค่าไว้สำหรับแอป 4D ไปยัง IIS
ฉันทำสิ่งนี้แล้ว แต่ฉันไม่สามารถหาวิธีผูกเข้ากับเซิร์ฟเวอร์หลักได้อย่างไร และฉันต้องตั้งค่า âEnable SSL offloadingâ หรือไม่ หากฉันทำเช่นนี้
ฉันยังอ่านที่อื่นที่ฉันควรป้อนในฟิลด์ Reverse Proxy ของการตั้งค่า ARR reverse proxy จาก DNSName เท่านั้น
ฉันป้อน DNSName:LocalHttpPort เมื่อฉันป้อนเฉพาะ DNSName ฉันได้รับการหมดเวลาของเบราว์เซอร์
หลังจากอ่านการมีส่วนร่วมมากมายในหัวข้อนี้ ฉันรู้สึกสับสนมากขึ้นเรื่อยๆ
นี่คือ XML ของกฎการเขียนใหม่:(เพิ่ม 19.08.2021 14:00 MEZ)
<proxy enabled="true" />
<rewrite>
<globalRules>
<rule name="ARR_server_proxy_SSL" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTPS}" pattern="on" />
</conditions>
<action type="Rewrite" url="https://h25XXXXX.stratoserver.net:4443/{R:0}" />
</rule>
<rule name="ARR_server_proxy" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://h25XXXXX.stratoserver.net:4000/{R:0}" />
<conditions>
<add input="{HTTPS}" pattern="on" negate="true" />
</conditions>
<serverVariables>
</serverVariables>
</rule>
</globalRules>
<allowedServerVariables>
<add name="{HTTPS}" />
</allowedServerVariables>
</rewrite>