일부 끔찍한 디자인 결정으로 인해 응용 프로그램에서 HTTP HEAD 요청에 응답 할 수 없습니다 ( 'Method Not Allowed'반환). HEAD 요청을 올바르게 반환하도록 소프트웨어를 수정하는 것은 까다 롭지 만 불가능하지는 않지만 추가 작업이 필요합니다. 응용 프로그램은 NGINX 프록시 뒤에 있습니다 .NGNGX가 클라이언트로부터받은 HEAD 요청을 GET 요청으로 백엔드로 변환 한 다음 헤더를 제외하고 응답을 버리고 다시 보내는 방법이 있는지 궁금합니다. 애플리케이션 서버가 HEAD 요청에 응답 할 수있는 것처럼
현재 구성 (정말 표준)
upstream ourupstream{
server unix:/var/apps/sockets/ourapp.socket.thread1
server unix:/var/apps/sockets/ourapp.socket.thread2
server unix:/var/apps/sockets/ourapp.socket.thread3
[like 20 of these]
}
server {
listen 1.2.3.4:80;
server_name ourapp;
access_log /var/apps/logs/ourapp.nginx.plog proxy;
error_log /var/apps/logs/ourapp.nginx.elog info;
gzip on;
gzip_types text/plain text/html;
proxy_intercept_errors on;
proxy_connect_timeout 10;
proxy_send_timeout 10;
proxy_read_timeout 10;
proxy_next_upstream error timeout;
client_max_body_size 2m;
error_page 404 /static/404.html;
error_page 500 501 502 503 504 =500 /static/500.html;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ourupstream/;
}
location /static/ {
root /var/apps/global/;
}
}
백엔드로 요청을 어떻게 전달합니까? proxy_pass? fastcgi_pass? 현재 구성을 붙여 넣을 수 있습니까? 어떤 nginx 버전을 사용하고 있습니까?
—
kolbyjack
@kolbyjack proxy_pass 유닉스 소켓을 사용하여, Nginx에 1.1.12 및 DEV에서 1.0.11, 1.0.11 생산에 (우리는 곧 1.1.12에 생산을 이동하고)
—
스머지