Nginx 如何代理传递到子路径

Nginx 如何代理传递到子路径,nginx,Nginx,我有一个带有两个容器的主机: nginx 检查 check_mk接口可由 我已在nginx中设置了代理通行证规则: server { listen 80; server_name cmk.domain.com;

我有一个带有两个容器的主机:

  • nginx
  • 检查
check_mk接口可由 我已在nginx中设置了代理通行证规则:

server {                                                                  
    listen 80;                                                            
    server_name cmk.domain.com;                                     
    location / {                                                          
        proxy_pass         http://172.17.0.2:5000;                        
        proxy_redirect     off;                                           
        proxy_set_header   Host $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-Host $server_name;                 
    }                                                                     
}                                      
当我用
cmk.domain.com/cmk
点击端口80上的nginx时,它工作了

我想要的是,当点击服务器名
cmk.domain.com
,就会自动添加
/cmk
。 我试过做
proxy\u passhttp://172.17.0.2:5000/cmk;但我得到一个页面未找到错误。
我错过了什么?

试试这个

server {
    listen 80;
    server_name cmk.domain.com;

    location /cmk {
        proxy_pass         http://172.17.0.2:5000;
        proxy_redirect     off;
        proxy_set_header   Host $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-Host $server_name;
    }

    location / {
        return 301 http://cmk.domain.com/cmk$request_uri;
    }
}

您能否在访问和错误日志中显示相应的条目?