如何解决在默认端口(80/443)以外的端口上运行时Docker推送失败?

JFrog支持
2022-06-26 09:32

有时,如果您使用的端口不是默认端口(80/443),Docker推送操作将失败。

当你的Nginx配置文件缺少端口变量时,会出现这个问题(即,$server_port只在你不使用http/https的默认值时使用,分别是80或443):

proxy_set_header主机:$server_port;

下面是Nginx的工作配置示例:

服务器{

听5000;

server_name rdfactory;

access_log /var/log/nginx/rdfactory-access.log;

error_log /var/log/nginx/rdfactory-error.log;

client_max_body_size 0;#禁用任何限制,以避免HTTP 413的大图片上传

chunked_transfer_encoding;

位置/ {

proxy_pass http://rdfactory: 8081 / artifactory / api /码头工人/ docker-local /;

proxy_set_header主机:$server_port;

proxy_read_timeout 900;

主机$http_host;为了docker客户端,#需要

proxy_set_header X-Real-IP $remote_addr;#传递真实客户端的IP

proxy_set_header X-Forwarded-Proto $scheme;