Điểm:0

NGINX: đảo ngược đường dẫn proxy đến tên miền phụ và nối thêm phần còn lại

lá cờ cn

Tôi có tệp cấu hình NGINX sau:

người phục vụ {
  server_name devices.example.org;

  ssl_protocols TLSv1.2;
  ssl_certificate /etc/ssl/web/example.crt;
  ssl_certificate_key /etc/ssl/web/example.key;

  vị trí ~* ^/(.*)(.*)?$ {
    proxy_pass http://$1.proxy.tv$2;
    tắt proxy_buffering;
    proxy_set_header Máy chủ $http_host;
    proxy_set_header X-Real-IP $remote_addr;
  }

Và tôi cần ủy quyền tất cả các yêu cầu đến phần phụ trợ được hiển thị, tức là

  • https://devices.example.org/m123 nên ủy quyền cho http://m123.proxy.tv
  • https://devices.example.org/m123/favicon.ico nên ủy quyền cho http://m123.proxy.tv/favicon.ico
  • https://devices.example.org/m123/scripts/something.js?params=bar nên ủy quyền cho http://m123.proxy.tv/scripts/something.js?params=bar

Tuy nhiên, tôi luôn nhận được một Cổng xấu lỗi khi trả lại và trong nhật ký tôi nhận được:

[lỗi] 18643#0: *12393 favicon.ico.proxy.tv không thể giải quyết được (3: Không tìm thấy máy chủ)

Tôi cho rằng regex của tôi bằng cách nào đó làm sai yêu cầu proxy, nhưng tôi không chắc làm thế nào.

Các kết hợp khác mà tôi đã thử:

  • vị trí ~* ^/(.*)(?:/(.*))$ ủy quyền cho http://$1.proxy.tv/$2$is_args$args
  • vị trí ~* ^/(.*)(?:/(.*))? ủy quyền cho http://$1.proxy.tv/$2$is_args$args

Bất kỳ trợ giúp nào cũng được đánh giá rất cao.

Điểm:0
lá cờ us

Bạn có hai nhóm chụp biểu thức chính quy ký tự đại diện trong địa điểm chặn chỉ thị, có nghĩa là mọi thứ được ghi vào $1.

Dựa trên yêu cầu của bạn, sau đây địa điểm khối có thể hoạt động:

vị trí ~ ^/(?<tên miền phụ>[^/]+)/(<đường dẫn>.*)?$ {
    proxy_pass http://$subdomain.proxy.tv/$path;
    ...
}

Để rõ ràng, tôi đang sử dụng tên biến (<>) trong biểu thức chính quy. Các [^/]+ được sử dụng để chụp phần đầu tiên của thành phần đường dẫn URL (chụp 1 hoặc nhiều ký tự không phải là /).

lý do cho Cổng xấu lỗi là nginx không phân giải được tên miền favicon.ico.proxy.tv. Đây là một vài lý do tại sao nó xảy ra:

  1. favicon.ico.proxy.tv không được đăng ký trong DNS.
  2. Bạn chưa cấu hình nginx người giải quyết chỉ thị với trình phân giải DNS hợp lệ.

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