Điều gì còn thiếu ở đây?
Sự cố xảy ra không phải trên tất cả các thiết bị. Một số hiển thị rằng "Kết nối này không an toàn." cho redmine và gitlab. Nhưng buồng lái thì không. Giải pháp cho câu đố bây giờ là các quy tắc cho Gitlab và Redmine chưa hoàn thành và các yêu cầu https bị kẹt ở hư không.
Các quy tắc cho cổng 443 (https) bị thiếu. Bây giờ tôi đã thay đổi các khối thành hai:
- Chuyển hướng yêu cầu http sang https
- lắng nghe các yêu cầu https và chuyển tiếp chúng đến ứng dụng
Điều này bây giờ trông như thế này:
/etc/nginx/sites-available/gitlab.<myserver> liên kết đến /etc/nginx/sites-enabled/gitlab.<myserver>
người phục vụ {
nghe 80;
nghe [::]:80;
server_name gitlab.<myserver>;
trả về 301 https://gitlab.<myserver>$request_uri;
}
người phục vụ {
nghe 443 ssl;
nghe [::]:443 ssl;
server_name gitlab.<myserver>;
địa điểm / {
proxy_pass http://<docker-net-ip>:<port>;
tắt proxy_buffering;
proxy_set_header X-Real-IP $remote_addr;
gzip tắt;
}
}
/etc/nginx/sites-available/redmine.<myserver> liên kết đến /etc/nginx/sites-enabled/redmine.<myserver>
người phục vụ {
nghe 80;
nghe [::]:80;
server_name redmine.<myserver>;
trả về 301 https://redmine.<myserver>$request_uri;
}
người phục vụ {
nghe 443 ssl;
nghe [::]:443 ssl;
server_name redmine.<myserver>;
địa điểm / {
proxy_pass http://<docker-net-ip>:<port>;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
gzip tắt;
}
}
/etc/nginx/sites-available/cockpit.<myserver> liên kết đến /etc/nginx/sites-enabled/cockpit.<myserver>
người phục vụ {
nghe 80;
nghe 443 ssl;
server_name buồng lái.<máy chủ của tôi>;
địa điểm / {
proxy_pass https://127.0.0.1:9090;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
tắt proxy_buffering;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
gzip tắt;
}
}
và /etc/cockpit/cockpit.conf
[Dịch vụ web]
Nguồn gốc = https:
ProtocolHeader = X-Forwarded-Proto
[Nhật ký]
Chết người = /var/log/cockpit.log
[Phiên họp]
Thời gian chờ nhàn rỗi = 15
và cho ong hoàn thành:
/etc/nginx/sites-available/default liên kết đến /etc/nginx/sites-enabled/default
##
# Bạn nên xem URL sau để hiểu rõ
# tệp cấu hình Nginx để giải phóng hoàn toàn sức mạnh của Nginx.
# https:
# https:
# https:
#
# Trong hầu hết các trường hợp, quản trị viên sẽ xóa tệp này khỏi các trang web đã bật/ và
# để nó làm tài liệu tham khảo bên trong các trang web có sẵn, nơi nó sẽ tiếp tục tồn tại
# được cập nhật bởi nhóm đóng gói nginx.
#
# Tệp này sẽ tự động tải các tệp cấu hình do người khác cung cấp
# ứng dụng, chẳng hạn như Drupal hoặc WordPress. Các ứng dụng này sẽ được thực hiện
# có sẵn bên dưới đường dẫn có tên gói đó, chẳng hạn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dụ chi tiết.
##
# Cấu hình máy chủ mặc định
#
người phục vụ {
nghe 80 default_server;
lắng nghe [::]:80 default_server;
# Cấu hình SSL
#
# nghe 443 ssl default_server;
# lắng nghe [::]:443 ssl default_server;
#
# Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
# Xem: https:
#
# Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
# Xem: https:
#
# Chứng chỉ tự ký được tạo bởi gói ssl-cert
# Đừng sử dụng chúng trong máy chủ sản xuất!
#
# bao gồm đoạn trích/snakeoil.conf;
gốc/var/www/html;
error_log /opt/logs/certbot_error gỡ lỗi;
}