เซิร์ฟเวอร์ {
ฟัง 80;
server_name example.com;
ที่ตั้ง / {
เขียนใหม่ ^/(.*)$ https://$host$1 ถาวร;
}
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/example.crt;
ssl_certificate_key /etc/ssl/example.key;
ssl_session_cache ที่แชร์:SSL:1m;
ssl_session_timeout 5 นาที;
ที่ตั้ง / {
proxy_pass https://www.google.com;
proxy_set_header โฮสต์ www.google.com;
proxy_set_header ผู้อ้างอิง https://www.google.com;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header ยอมรับการเข้ารหัส "";
proxy_set_header ภาษาที่ยอมรับได้ $http_accept_language;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
sub_filter google.com ตัวอย่าง.คอม;
sub_filter_once ปิด;
}
}
ฉันกำลังพยายามใช้สิ่งนี้ แต่ 0.0.0.0:80 ใช้งานโดย apache แต่คำถามคือฉันจะย้อนกลับคำขอพร็อกซีจาก bi.example.com ไปยัง google.com ได้อย่างไรในขณะที่ยังมี webservice.example.com เปลี่ยนเส้นทาง ส่งคำขอไปที่ example.com ซึ่งโฮสต์บริการเว็บ API ฉันไม่คิดว่ามันสามารถทำได้ แต่ฉันอาจคิดผิด
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามเริ่ม nginx:
28 ธันวาคม 10:52:22 example.com nginx[27291]: nginx: [emerg] bind() ถึง 0.0.0.0:443 ล้มเหลว (98: ที่อยู่ al...use)
28 ธันวาคม 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() ถึง 0.0.0.0:80 ล้มเหลว (98: ที่อยู่ alr...use)
28 ธันวาคม 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() ถึง 0.0.0.0:443 ล้มเหลว (98: ที่อยู่ al...use)
28 ธันวาคม 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() ถึง 0.0.0.0:80 ล้มเหลว (98: ที่อยู่ alr...use)
28 ธันวาคม 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() ถึง 0.0.0.0:443 ล้มเหลว (98: ที่อยู่ al...use)
28 ธันวาคม 10:52:24 example.com nginx[27291]: nginx: [emerg] ยังไม่สามารถผูก ()
ฉันตรวจสอบพอร์ตและมีการใช้โดย httpd ซึ่งสอดคล้องกับ Apache
เพื่ออธิบายเพิ่มเติม ฉันมีการเปลี่ยนเส้นทาง CNAME สองครั้งไปที่ example.com และฉันต้องการเปลี่ยนเส้นทางไปยังหน้าเว็บอื่นที่ไม่ใช่ Google แต่นี่เป็นเพียงตัวอย่าง ดังนั้นเนื่องจาก CNAME ทั้งสองเปลี่ยนเส้นทางไปยัง URL เดียวกัน ฉันไม่คิดว่านี่คือ เป็นไปได้และการเปลี่ยนเส้นทางจาก URL ไปยังอีก URL เพื่อมอบใบรับรอง SSL ไปยังลิงก์อื่นที่ไม่ใช่ Google.com จะไม่สามารถทำได้หาก Apache ใช้พอร์ต 80 นอกเหนือจากการใช้เซิร์ฟเวอร์ใหม่สำหรับสิ่งนี้ มีความเป็นไปได้อื่นอีกไหม? ขณะนี้ มีการเปลี่ยนเส้นทาง CNAME จาก bi.example.com ไปยัง URL อื่นที่ไม่ใช่ Google และฉันพยายามตั้งค่าการเปลี่ยนเส้นทางด้วย nginx โดยชี้ CNAME จาก bi.example.com ไปยัง example.com แทน URL อื่น