ฉันจะกำหนดค่าพร็อกซีที่ไม่มี GUI ได้อย่างไร


78

คุณจะกำหนดการตั้งค่าพร็อกซีในเซิร์ฟเวอร์ Ubuntu หรือรุ่นน้อยที่สุด (CLI) โดยใช้เทอร์มินัลได้อย่างไร

คำตอบ:


107

พร็อกซีทั้งระบบใน CLI Ubuntu / Server ต้องตั้งค่าเป็นตัวแปรสภาพแวดล้อม

  • เปิด/etc/environmentไฟล์ด้วยvi(หรือตัวแก้ไขรายการโปรดของคุณ) ไฟล์นี้จัดเก็บตัวแปรทั่วทั้งระบบซึ่งเริ่มต้นได้เมื่อบูต
  • เพิ่มบรรทัดต่อไปนี้ปรับเปลี่ยนอย่างเหมาะสม คุณต้องทำซ้ำทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเพราะ (น่าเสียดาย) บางโปรแกรมมองหาโปรแกรมใดโปรแกรมหนึ่งเท่านั้น:

    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    
  • apt-get, aptitudeฯลฯ sudoจะไม่เชื่อฟังตัวแปรสภาพแวดล้อมเมื่อใช้ตามปกติ ดังนั้นกำหนดค่าแยกต่างหาก สร้างไฟล์ชื่อ95proxiesใน/etc/apt/apt.conf.d/และรวมถึงต่อไปนี้:

    ได้รับ :: http :: proxy "http://myproxy.server.com:8080/";
    ได้รับ :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    ได้รับ :: https :: proxy "https://myproxy.server.com:8080/";
    

ในที่สุดออกจากระบบและรีบูตเพื่อให้แน่ใจว่าการเปลี่ยนแปลงมีผล


แหล่งที่มา: 1 , 2 ดู 1 โดยเฉพาะสำหรับความช่วยเหลือเพิ่มเติมรวมถึงสคริปต์เพื่อเปิด / ปิดพรอกซีอย่างรวดเร็ว


ฉันต้องการความช่วยเหลือในเรื่องนี้ ฉันได้ลองทำสิ่งนี้บน Ubuntu Server เสมือน 12.04 มาระยะหนึ่งแล้วและมันไม่ทำงาน ฉันได้ทำงานกับ Ubuntu เสมือน 12.04 (ไม่ใช่เซิร์ฟเวอร์) แต่ฉันใช้ GUI เพื่อใช้การตั้งค่าระดับโลก ฉันได้ลองด้วยเครื่องหมายคำพูดเนื่องจากลิงก์ด้านล่างแนะนำและมันไม่ได้ช่วยอะไร หากฉันป้อนที่อยู่ IP แทนชื่อ domain.com การจัดรูปแบบจะเปลี่ยนแปลงหรือไม่ ฉันลองหลายสิ่งหลายอย่างแล้ว
Frantumn

คุณแน่ใจหรือไม่ว่า https_proxy = "http?
BBK

นี่ไม่ใช่คำตอบที่ยอดเยี่ยมในมุมมองของฉันเพราะข้อมูลพร็อกซี (ไม่ถูกต้อง) ที่ฉันให้ ณ เวลาติดตั้งไม่ได้อยู่ใน / etc / environment
James T Snell

1
ในกรณีของฉัน Ubuntu 12.04 ไม่จำเป็นต้องออกจากระบบและรีบูตเพื่อให้แน่ใจว่าการเปลี่ยนแปลงมีผล ฉันดำเนินการ: sudo service-manager เครือข่ายรีสตาร์ท
Daniel Mora

1
@BBK แม้ในขณะที่ใช้ https คุณอาจต้องเชื่อมต่อกับพร็อกซีผ่าน http ซึ่งโดยทั่วไปจะทำให้พร็อกซีเซิร์ฟเวอร์ทำการดักฟังบนการเชื่อมต่อที่ปลอดภัยของคุณ
s3lph

9

หากคุณมีพร็อกซีรับรองความถูกต้องแล้ว URL จะแตกต่างกัน แทน:

"http://myproxy.server.com:8080/"

คุณจะมี:

"http://user_name:password@myproxy.server.com:8080/"

โปรดทราบว่าเหล่านี้ยังคง URL ที่ดังนั้นรหัสผ่าน (และอาจจะชื่อผู้ใช้) จะต้องเข้ารหัส URL

ตัวอย่างเช่นชื่อผู้ใช้muruและรหัสผ่าน)qv3TB3LBm7EkP}จะมีลักษณะดังนี้:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

สามารถทำได้หลายวิธี:

  1. มีหลายเว็บไซต์สำหรับการเข้ารหัส:
  2. โปรแกรม:

คุณสามารถใช้man urlเพื่อดูอักขระที่ต้องเข้ารหัส:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

และรหัส octet man asciiที่มีอยู่บน


0
                                 Proxy Environment Variables:

http_proxy: พร็อกซีเซิร์ฟเวอร์สำหรับการรับส่งข้อมูล HTTP
https_proxy: พร็อกซีเซิร์ฟเวอร์สำหรับการรับส่งข้อมูล HTTPS
ftp_proxy: พร็อกซีเซิร์ฟเวอร์สำหรับการรับส่งข้อมูล FTP
no_proxy: รูปแบบสำหรับที่อยู่ IP หรือชื่อโดเมนที่ไม่ควรใช้พรอกซี

ค่าสำหรับทุกการตั้งค่าพร็อกซียกเว้น no_proxy จะใช้เทมเพลตเดียวกัน proxy_http=username:password@proxy-host:port

พร็อกซีการตั้งค่าชั่วคราว: export HTTP_PROXY=user:pass@my.proxy.server:8080

การตั้งค่าพร็อกซีแบบถาวร: ใช้vim ~/.bash_profileเพื่อเปิดไฟล์การตั้งค่า bash จากนั้นใส่บรรทัดต่อไปนี้ไว้ภายใน

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

ใช้source ~/.bash_profileเพื่อใช้การเปลี่ยนแปลง


พิมพ์ผิดในบรรทัดสุดท้ายของตัวอย่าง "ส่งออก" ('exprot' ควรเป็น 'ส่งออก') ฉันพยายามแก้ไขเพื่อใช้การแก้ไข แต่การแก้ไขต้องเป็น "6 ตัวอักษรหรือมากกว่า" ...
Jeremy Davis

1
ขอบคุณฉันแก้ไขมันแล้ว
Yossarian42
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.