Điểm:1

Buồng lái qua NGINX - cài đặt khiến các dịch vụ khác không thể truy cập được

lá cờ cn

Tôi có một máy chủ (Ubuntu-Server) với một số máy chủ dựa trên Docker (Gitlab, Redmine) và NGINX dưới dạng Proxy.

gitlab.<myserver> => NGINX -> <docker-net-ip>:port => Gitlab-container  
redmine.<myserver> => NGINX -> <docker-net-ip>:port => Redmine-container
                                                         SQL-container  
                                                         Chứng chỉ  

Công việc này như một cái duyên vậy. Bây giờ tôi muốn mở rộng máy chủ của mình bằng Dịch vụ web buồng lái:

buồng lái.<myserver> => NGINX -> localhost:9090 => Buồng lái chạy trên máy chủ  
gitlab.<myserver> => NGINX -> <docker-net-ip>:port => Gitlab-container  
redmine.<myserver> => NGINX -> <docker-net-ip>:port => Redmine-container
                                                         SQL-container  
                                                         Chứng chỉ  

Tôi đã thêm một quy tắc NGINX bổ sung (tương ứng với https://github.com/cockpit-project/cockpit/wiki/Proxying-Cockpit-over-NGINX) cho buồng lái và sau đó buồng lái có sẵn nhưng cả Redmine và Gitlab đều không có.Nếu tôi loại bỏ quy tắc, thì ngược lại.

Trong /etc/nginx/sites-available//etc/nginx/site-enabled/ các quy tắc NGINX sau đây được lưu trữ:

gitlab.<máy chủ của tôi>

người phục vụ {

    nghe 80;
    nghe [::]:80;

    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;
    }
}

redmine.<myserver>

người phục vụ {

    nghe 80;
    nghe [::]:80;

    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;
    }
}

và bây giờ tôi đã thêm:
buồng lái.<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 / {
        # Bắt buộc phải ủy quyền kết nối với Buồng lái
        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;

        # Cần thiết để ổ cắm web hoạt động
        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";

        # Truyền tiêu đề ETag từ Buồng lái cho khách hàng.
        # Xem: https://github.com/cockpit-project/cockpit/issues/5239
        gzip tắt;
    }
}

/etc/cockpit/cockpit.conf

[Dịch vụ web]
Nguồn gốc = https://cockpit.<myserver> 127.0.0.1:9090
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

Điều gì còn thiếu ở đây?

Alex44 avatar
lá cờ cn
nó đã được giải quyết ...
Điểm:1
lá cờ cn

Đ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:

  1. Chuyển hướng yêu cầu http sang https
  2. 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>

# chuyển hướng yêu cầu http sang https trong khi vẫn giữ uri yêu cầu
người phục vụ {

    nghe 80;
    nghe [::]:80;

    server_name gitlab.<myserver>;

    trả về 301 https://gitlab.<myserver>$request_uri;
}

# yêu cầu https sẽ được chuyển tiếp đến ứng dụng máy chủ
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;

        # Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
        # Xem: https://bugs.debian.org/773332
        gzip tắt;
    }
}

/etc/nginx/sites-available/redmine.<myserver> liên kết đến /etc/nginx/sites-enabled/redmine.<myserver>

# chuyển hướng yêu cầu http sang https trong khi vẫn giữ uri yêu cầu
người phục vụ {

    nghe 80;
    nghe [::]:80;

    server_name redmine.<myserver>;

    trả về 301 https://redmine.<myserver>$request_uri;
}

# yêu cầu https sẽ được chuyển tiếp đến ứng dụng máy chủ
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;

        # Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
        # Xem: https://bugs.debian.org/773332
        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 / {
        # Bắt buộc phải ủy quyền kết nối với Buồng lái
        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;

        # Cần thiết để ổ cắm web hoạt động
        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";

        # Truyền tiêu đề ETag từ Buồng lái cho khách hàng.
        # Xem: https://github.com/cockpit-project/cockpit/issues/5239
        gzip tắt;
    }
}

/etc/cockpit/cockpit.conf

[Dịch vụ web]
Nguồn gốc = https://cockpit.<myserver> 127.0.0.1:9090
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://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# 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://bugs.debian.org/773332
    #
    # Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
    # Xem: https://bugs.debian.org/765782
    #
    # 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;
}

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.