ฉันมีเซิร์ฟเวอร์ (Ubuntu-Server) ที่มีเซิร์ฟเวอร์ที่ใช้ Docker (Gitlab, Redmine) และ NGINX เป็นพร็อกซี
gitlab.<myserver> => NGINX -> <docker-net-ip>:port => คอนเทนเนอร์ Gitlab
redmine.<myserver> => NGINX -> <docker-net-ip>:port => คอนเทนเนอร์ Redmine
คอนเทนเนอร์ SQL
เซอร์บอท
งานนี้เหมือนจับใจ ตอนนี้ฉันต้องการขยายเซิร์ฟเวอร์ของฉันโดย Cockpit Web Service:
ห้องนักบิน<myserver> => NGINX -> localhost:9090 => ห้องนักบินทำงานบนเซิร์ฟเวอร์
gitlab.<myserver> => NGINX -> <docker-net-ip>:port => คอนเทนเนอร์ Gitlab
redmine.<myserver> => NGINX -> <docker-net-ip>:port => คอนเทนเนอร์ Redmine
คอนเทนเนอร์ SQL
เซอร์บอท
ฉันได้เพิ่มกฎ NGINX พิเศษ (สอดคล้องกับ https://github.com/cockpit-project/cockpit/wiki/Proxying-Cockpit-over-NGINX) สำหรับห้องนักบินและจากนั้นห้องนักบินก็พร้อมใช้งาน แต่ไม่มี Redmine หรือ Gitlabถ้าฉันลบกฎออก มันก็กลับกัน
ใน /etc/nginx/sites-available/ และ /etc/nginx/sites-enabled/ มีการจัดเก็บกฎ NGINX ต่อไปนี้:
gitlab.<เซิร์ฟเวอร์ของฉัน>
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
server_name gitlab.<myserver>;
ที่ตั้ง / {
proxy_pass http://<docker-net-ip>:พอร์ต;
ปิด proxy_buffering;
proxy_set_header X-Real-IP $remote_addr;
}
}
redmine.<เซิร์ฟเวอร์ของฉัน>
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
server_name redmine.<myserver>;
ที่ตั้ง / {
proxy_pass http://<docker-net-ip>:พอร์ต;
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
และตอนนี้ฉันเพิ่ม:
ห้องนักบิน.<myserver>
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง 443 ssl;
ห้องนักบิน server_name.<myserver>;
ที่ตั้ง / {
# จำเป็นต้องพร็อกซีการเชื่อมต่อกับห้องนักบิน
proxy_pass https://127.0.0.1:9090;
proxy_set_header โฮสต์ $host;
proxy_set_header X-Forwarded-Proto $scheme;
# จำเป็นสำหรับเว็บซ็อกเก็ตในการทำงาน
proxy_http_version 1.1;
ปิด proxy_buffering;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ "อัพเกรด";
# ส่งส่วนหัว ETag จากห้องนักบินไปยังลูกค้า
# ดู: https://github.com/cockpit-project/cockpit/issues/5239
gzip ปิด;
}
}
และ /etc/cockpit/cockpit.conf
[บริการเว็บ]
ต้นกำเนิด = https://cockpit.<myserver> 127.0.0.1:9090
ProtocolHeader = X-ส่งต่อโปรโต
[บันทึก]
ร้ายแรง = /var/log/cockpit.log
[การประชุม]
IdleTimeout=15
มีอะไรหายไปที่นี่?