Điểm:0

nginx 4xx khi proxy các trang web công khai

lá cờ in

Ghi bàn: Tôi muốn tạo một proxy ngược đơn giản với nginx có thể lấy bất kỳ miền công cộng nào làm đầu vào và xuất ra cùng một trang web được ủy quyền đầy đủ, tương tự như Trang web này.

Vấn đề: Hầu hết các trang web sẽ trả về lỗi bị cấm hoặc một số lỗi 4xx hoặc 5xx khác. Tôi hiện đang nghi ngờ nó có liên quan đến tiêu đề, đặc biệt là tiêu đề Máy chủ. Tôi nhận thấy rằng việc xóa nó sẽ gây ra lỗi 301 cho trang web gốc.

Con đường cho đến nay, hay còn gọi là conf đầy đủ của tôi

trang web.conf

    người phục vụ {
    nghe 443 ssl http2;
    nghe [::]:443 ssl http2;
    server_name mydomain.com;
    gốc /var/www/mydomain.com/public;

    # SSL
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/mydomain.com/chain.pem;

    # Bảo vệ
    bao gồm nginxconfig.io/security.conf;

    # index.php
    chỉ số index.php;

    # proxy ngược
    địa điểm / {
        proxy_pass https://somedomain.com:443;
        bao gồm nginxconfig.io/proxy.conf;
    }

    # cấu hình bổ sung
    bao gồm nginxconfig.io/General.conf;
}

bảo mật.conf

# tiêu đề bảo mật
add_header X-XSS-Protection "1; mode=block" luôn luôn;
add_header X-Content-Type-Options "nosniff" luôn;
add_header Chính sách người giới thiệu luôn "không có người giới thiệu khi hạ cấp";
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'; frame-ancestor 'self';" luôn;
add_header Quyền-Chính sách "interest-cohort=()" luôn luôn;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" luôn luôn;

# . các tập tin
vị trí ~ /\.(?! nổi ​​tiếng) {
    Phủ nhận tất cả;
}

proxy.conf

proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_ssl_server_name bật;

# Tiêu đề proxy
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối $connection_upgrade;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Đã chuyển tiếp $proxy_add_forwarded;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;

# Thời gian chờ của proxy
proxy_connect_timeout 60 giây;
proxy_send_timeout 60 giây;
proxy_read_timeout 60 giây;

và cuối cùng nginx.conf

# favicon.ico
vị trí = /favicon.ico {
    log_not_found tắt;
    truy cập_đăng xuất;
}

# robot.txt
vị trí = /robots.txt {
    log_not_found tắt;
    truy cập_đăng xuất;
}

# tài sản, truyền thông
vị trí ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg |midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    hết hạn 7d;
    truy cập_đăng xuất;
}

# svg, phông chữ
vị trí ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    hết hạn 7d;
    truy cập_đăng xuất;
}

#gzip
bật gzip;
bật gzip_vary;
gzip_proxied bất kỳ;
gzip_comp_level 6;
văn bản gzip_types/văn bản thuần túy/văn bản css/ứng dụng xml/ứng dụng json/ứng dụng javascript/ứng dụng rss+xml/atom+hình ảnh xml/svg+xml;

Như bạn có thể thấy cấu hình được tạo bởi nginxconfig.io và có vẻ khá hợp pháp. Bất kỳ ý tưởng về những gì có thể sai?

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