ฉันต้องการเขียน URL ใหม่ใน reverse proxy ดังนั้นในกรณีของฉัน ฉันต้องการเปลี่ยน url ตามด้านล่าง ฉันรันคอนเทนเนอร์บางตัวเพื่อให้สามารถเรียกใช้ได้ในขณะนี้ แต่ด้วยพอร์ตและ localhost ฉันเพิ่มคอนเทนเนอร์ใหม่ด้วย nginx revers proxy และด้วยสิ่งนี้ ฉัน ต้องการคืนค่า url ของฉัน แต่ฉันไม่รู้ว่าควรกำหนด nginx.conf ในเส้นทางนี้อย่างไร /etc/nginx/nginx.conf:
เมื่อฉันป้อน url มันควรจะเรียกดังนี้:
http://addons.example.com => http://localhost:89
http://my.example.com => http://localhost
http://phpmyadmin.example.com => http://localhost:5054
เนื่องจากการกำหนดค่าของฉัน ฉันได้รับข้อผิดพลาดนี้ในบันทึกนักเทียบท่าเมื่อฉันโทร http://addons.project.com/test.php:
production_nginx | 23/02/2023 13:49:27 [ข้อผิดพลาด] 31#31: *1 open() "/etc/nginx/html/test.php" ล้มเหลว (2: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว), ลูกค้า: 172.25.0.1 เซิร์ฟเวอร์: my.project.com คำขอ: "GET /test.php HTTP/1.1" โฮสต์: "addons.project.com"
นี่คือการกำหนดค่า nginx ของฉัน:
เหตุการณ์ {
}
http {
client_max_body_size 20m;
proxy_cache_path /etc/nginx/cache keys_zone=one:500m max_size=1000m;
เซิร์ฟเวอร์ {
server_name my.example.com;
ตำแหน่ง /my.example.com/ {
proxy_pass http://127.0.0.1:80;
เขียนใหม่ ^/my.example.com(.*)$ $1;
}
ที่ตั้ง /addons.example.com/ {
proxy_pass http://127.0.0.1:89;
เขียนใหม่ ^/addons.example.com(.*)$ $1;
}
}
}
ขอบคุณล่วงหน้า