Đ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

##
# Bn nên xem URL sau để hiu rõ
# tp cu hình Nginx để gii phóng hoàn toàn sc mnh ca 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 hu hết các trường hp, qun trviên sxóa tp này khi các trang web đã bt/ và
# để nó làm tài liu tham kho bên trong các trang web có sn, nơi nó stiếp tc tn ti
# được cp nht bi nhóm đóng gói nginx.
#
# Tp này stự động ti các tp cu hình do người khác cung cp
# ứng dng, chng hn như Drupal hoc WordPress. Cácng dng này sẽ được thc hin
# có sn bên dưới đường dn có tên gói đó, chng hn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dchi tiết.
##

# Cu hình máy chmc định
#
người phc vụ {
    nghe 80 default_server;
    lng nghe [::]:80 default_server;

    # Cu hình SSL
    #
    # nghe 443 ssl default_server;
    # lng nghe [::]:443 ssl default_server;
    #
    # Lưu ý: Bn nên tt gzip cho lưu lượng SSL.
    # Xem: https://bugs.debian.org/773332
    #
    # Đọc ssl_ciphers để đảm bo cu hình an toàn.
    # Xem: https://bugs.debian.org/765782
    #
    # Chng chtký được to bi gói ssl-cert
    # Đừng sdng chúng trong máy chsn xut!
    #
    # bao gm đon trích/snakeoil.conf;

    gc/var/www/html;

    error_log /opt/logs/certbot_error gli;
}

Đă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.