在 portainer 里配置 nginx 和 KKFileView
1.添加两个environment
KK_BASE_URL: # 提供预览服务的地址,即nginx代理地址
KK_CONTEXT_PATH: #即nginx代理地址的后缀名
KK_BASE_URL: "https://aa.bb.com/preview/"
KK_CONTEXT_PATH: "/preview/"
2.nginx 添加代理地址配置
location /preview/ {
proxy_pass http://ip:8012; #KK服务的地址
proxy_set_header Host $host:$server_port;
proxy_pass_request_headers on;
proxy_pass_request_body on;
client_max_body_size 2048m;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_set_header X-Real-IP $http_x_real_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' "true";
add_header Access-Control-Allow-Headers X-Requested-With;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
这里nginx配置时的小技巧
location 通过”/” 实现通用匹配时
proxy_pass最后面没有斜杠,匹配路径有斜杠(/preview/)
此时通过浏览器请求http://ip/preview/,那么实际访问的地址就是 http://ip:端口/preview/,会将匹配路径/preview/一起加过去
这时候我们浏览器访问 nginx代理地址就可以了,例如:http://ip:端口/preview/onlinePreview?url=