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?