Mc: μ΅œμ‹  mc ν΄λΌμ΄μ–ΈνŠΈμ˜ "μΆ”κ°€ 헀더"

에 λ§Œλ“  2018λ…„ 07μ›” 26일  Β·  19μ½”λ©˜νŠΈ  Β·  좜처: minio/mc

μ˜ˆμƒλ˜λŠ” 행동

mc cp λŠ” 성곡적인 μ—…λ‘œλ“œλ₯Ό 생성해야 ν•©λ‹ˆλ‹€.

μ‹€μ œ 행동

comm-wche84-lt:essays rachel$ mc --debug cp /Users/rachel/Downloads/giphy.gif Rachel/hexo/stop-it.gif
mc: <DEBUG> GET /hexo/?location= HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20180720T231455Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Fri, 20 Jul 2018 23:14:58 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 154336C08C9A46BE
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  620.68303ms

mc: <DEBUG> GET /hexo/?delimiter=%2F&max-keys=1000&prefix=stop-it.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20180720T231456Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Fri, 20 Jul 2018 23:14:58 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 154336C08DD18908
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  17.170555ms

mc: <DEBUG> HEAD /hexo/stop-it.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20180720T231456Z

mc: <DEBUG> HTTP/1.1 404 Not Found
Connection: close
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Date: Fri, 20 Jul 2018 23:14:58 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 154336C08F2D3BF8
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  22.167836ms

mc: <DEBUG> GET /hexo/?delimiter=%2F&max-keys=1000&prefix=stop-it.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20180720T231456Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Fri, 20 Jul 2018 23:14:58 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 154336C0907ABE20
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  26.127676ms

mc: <DEBUG> HEAD /hexo/stop-it.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20180720T231456Z

mc: <DEBUG> HTTP/1.1 404 Not Found
Connection: close
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Date: Fri, 20 Jul 2018 23:14:58 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 154336C09206FE55
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  21.589167ms

...oads/giphy.gif:  1.16 MB / 1.16 MB  β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“  100.00% 1.53 MB/s 0smc: <DEBUG> PUT /hexo/stop-it.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-07-13T00:53:22Z
Content-Length: 1219402
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20180720/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-meta-com.apple.quarantine, Signature=**REDACTED**
Content-Type: image/gif
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20180720T231456Z
X-Amz-Meta-Com.apple.quarantine: 0082;5b526676;Safari;
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Fri, 20 Jul 2018 23:15:00 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 154336C0FBF99F70
X-Xss-Protection: 1; mode=block

11d
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>There were headers present in the request which were not signed</Message><Key></Key><BucketName></BucketName><Resource>/hexo/stop-it.gif</Resource><RequestId>3L137</RequestId><HostId>3L137</HostId></Error>
0

mc: <DEBUG> Response Time:  1.792951893s

mc: <ERROR> Failed to copy `/Users/rachel/Downloads/giphy.gif`. Insufficient permissions to access this file `https://rachel.objectstore.co/hexo/stop-it.gif`
 (3) cp-main.go:404 cmd.doCopySession(..) Tags: [/Users/rachel/Downloads/giphy.gif]
 (2) common-methods.go:196 cmd.uploadSourceToTargetURL(..) Tags: [https://rachel.objectstore.co/hexo/stop-it.gif]
 (1) common-methods.go:130 cmd.putTargetStream(..) Tags: [Rachel, https://rachel.objectstore.co/hexo/stop-it.gif]
 (0) client-s3.go:656 cmd.(*s3Client).Put(..)
 Release-Tag:RELEASE.2018-07-13T00-53-22Z | Commit:70dcf20d747d | Host:comm-wche84-lt.local | OS:darwin | Arch:amd64 | Lang:go1.10.2 | Mem:6.6MB/17MB | Heap:6.6MB/12MB
...oads/giphy.gif:  1.16 MB / 1.16 MB  β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“  100.00% 663.50 KB/s 1s

행동을 μž¬ν˜„ν•˜λŠ” 단계

mc cp src dst_on_minio

MC 버전

comm-wche84-lt:essays Rachel$ mc version
Version: 2018-07-13T00:53:22Z
Release-tag: RELEASE.2018-07-13T00-53-22Z
Commit-id: 70dcf20d747d305f73a117b4787acf46e6809d99

μ‹œμŠ€ν…œ 정보

λ‹€μœˆ

@harshavardhana λŠ” #2193μ—μ„œ μˆ˜μ •ν–ˆμ–΄μ•Ό ν–ˆμ§€λ§Œ μ‹œκ°€λŠ”

duplicate medium

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ‚¬λžŒλ“€μ„ μœ„ν•΄ 인터넷 검색: configmapμ—μ„œ ignore-invalid-headers λ₯Ό false 둜 μ„€μ •

λͺ¨λ“  19 λŒ“κΈ€

μ•„λ§ˆλ„ nginxκ°€ 헀더에 μˆ˜λΆ„μ΄ λ§Žμ€ 것을 μΆ”κ°€ν•œ λ‹€μŒ Minioκ°€ λΆˆν‰ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@zllovesuki Minio 간에 Nginx ν”„λ‘μ‹œκ°€ μžˆμŠ΅λ‹ˆκΉŒ? Minioλ₯Ό 직접 가리킀고 μž‘λ™ν•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

@harshavardhana 음 , Kubernetesμ—μ„œ μ‹€ν–‰ μ€‘μ΄λ―€λ‘œ Ingressκ°€ 항상 μ‘΄μž¬ν•©λ‹ˆλ‹€. mc 의 이전 버전은 μ‚¬μš©μžμ™€ Minio μ‚¬μ΄μ—μ„œ Nginx와 잘 μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— nginxκ°€ 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@harshavardhana 음 , Kubernetesμ—μ„œ μ‹€ν–‰ μ€‘μ΄λ―€λ‘œ Ingressκ°€ 항상 μ‘΄μž¬ν•©λ‹ˆλ‹€. 이전 λ²„μ „μ˜ mcκ°€ μ‚¬μš©μžμ™€ Minio μ‚¬μ΄μ—μ„œ Nginx와 잘 μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— nginxκ°€ 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

그런 λ‹€μŒ 이 문제λ₯Ό λ‘œμ»¬μ—μ„œ μž¬ν˜„ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ μ„œλͺ… v4의 졜근 λ³€κ²½ μ‚¬ν•­μœΌλ‘œ 인해 λ¬Έμ œκ°€ λ°œμƒν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€. @zllovesuki

homebrew에 λŒ€ν•œ ν˜„μž¬ λ¦΄λ¦¬μŠ€μ—μ„œ μ—¬μ „νžˆ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Rachels-MacBook:~ rachel$ mc version
Version: 2018-09-10T23:39:12Z
Release-tag: RELEASE.2018-09-10T23-39-12Z
Commit-id: c352cadd4be2c6bed64884c78d1e8a8ac6efaf3f

homebrew에 λŒ€ν•œ ν˜„μž¬ λ¦΄λ¦¬μŠ€μ—μ„œ μ—¬μ „νžˆ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ λ³Ό μˆ˜μžˆλŠ” 것은 이것이 nginx ν”„λ‘μ‹œμ™€ 관련이 μžˆλ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. ν—€λ”λ‘œ λ¬΄μ—‡μ„ν•˜λ €κ³ ν•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. μž¬ν˜„ν•  수 없을 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜μ—κ²Œλ„ μ—¬μ „νžˆ 깨지고 nginx 뒀에 μžˆλŠ” Minio와 MacOSμ—μ„œ mc μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

mc version Version: 2018-09-26T00:42:43Z Release-tag: RELEASE.2018-09-26T00-42-43Z Commit-id: 87f7e65c4c837c8886bf2dd8800c445983b36187

mc 의 이전 버전은 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. Minio μ›Ή μΈν„°νŽ˜μ΄μŠ€λ„ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

@zllovesuki 해결책을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ?

λ‚΄ nginx ꡬ성:

```
μ—…μŠ€νŠΈλ¦Ό minio_servers {
μ„œλ²„ 127.0.0.1:9001;
μ„œλ²„ 127.0.0.1:9002;
μ„œλ²„ 127.0.0.1:9003;
μ„œλ²„ 127.0.0.1:9004;
}

μ„œλ²„ {
server_name my.minio.server;
client_max_body_size 512M;

location / {
    proxy_set_header Host $http_host;
    proxy_pass       http://minio_servers;
}

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/my.minio.server/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/my.minio.server/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

문제λ₯Ό μ°Ύμ•˜μŠ΅λ‹ˆλ‹€!

이것은 MacOSμ—μ„œ μ‚¬μš©μž μ •μ˜ xattr 속성이 μžˆλŠ” νŒŒμΌμ—λ§Œ μΆ”κ°€λ˜λŠ” μΆ”κ°€ ν—€λ”μž…λ‹ˆλ‹€. X-Amz-Meta-Com.apple.quarantine: 0082;5bbe2ec5;Keka;

κΈ°μ‘΄ 속성 확인: xattr file.zip
λ‹€μŒκ³Ό 같이 속성(μ—¬κΈ°: com.apple.quarantine )을 μ œκ±°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
xattr -d com.apple.quarantine file.zip

κ·Έ 후에 mc μ—…λ‘œλ“œν•˜λ©΄ μ •μƒμ μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

ν₯λ―Έλ‘­λ„€μš”, λ‚˜μ€‘μ— 제 컴퓨터λ₯Ό ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€.

확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

Rachels-MacBook:~ rachel$ xattr -d com.apple.quarantine ~/Downloads/ezgif.com-optimize.gif 
Rachels-MacBook:~ rachel$ mc --debug cp ~/Downloads/ezgif.com-optimize.gif rachel/dist/hue.gif
mc: <DEBUG> GET /dist/?location= HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20181013T010120Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Sat, 13 Oct 2018 01:01:21 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 155D054E3C2F83F1
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  411.104274ms

mc: <DEBUG> GET /dist/?delimiter=%2F&max-keys=1000&prefix=hue.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20181013T010121Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Sat, 13 Oct 2018 01:01:21 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 155D054E3E630800
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  30.125179ms

mc: <DEBUG> HEAD /dist/hue.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20181013T010121Z

mc: <DEBUG> HTTP/1.1 404 Not Found
Connection: close
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Date: Sat, 13 Oct 2018 01:01:21 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 155D054E4051BC08
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  32.376025ms

mc: <DEBUG> GET /dist/?delimiter=%2F&max-keys=1000&prefix=hue.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20181013T010121Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Date: Sat, 13 Oct 2018 01:01:21 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Accept-Encoding
Vary: Origin
X-Amz-Request-Id: 155D054E424FF8C5
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  33.95394ms

mc: <DEBUG> HEAD /dist/hue.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20181013T010121Z

mc: <DEBUG> HTTP/1.1 404 Not Found
Connection: close
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Date: Sat, 13 Oct 2018 01:01:21 GMT
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 155D054E444DEED8
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  28.903296ms

...optimize.gif:  1.99 MB / 1.99 MB  β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“  100.00% 3.15 MB/s 0smc: <DEBUG> PUT /dist/hue.gif HTTP/1.1
Host: rachel.objectstore.co
User-Agent: Minio (darwin; amd64) minio-go/v6.0.6 mc/2018-09-10T23:39:12Z
Content-Length: 2083206
Authorization: AWS4-HMAC-SHA256 Credential=rachel/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
Content-Type: image/gif
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20181013T010121Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Connection: keep-alive
Content-Security-Policy: block-all-mixed-content
Date: Sat, 13 Oct 2018 01:01:22 GMT
Etag: "c0e09c3ba99d1133c8c848e29fb27430"
Strict-Transport-Security: max-age=15724800; includeSubDomains
Vary: Origin
X-Amz-Request-Id: 155D054E84C7E947
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  1.088734018s

...optimize.gif:  1.99 MB / 1.99 MB  β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“  100.00% 1.82 MB/s 1s

mc μ—μ„œ μ΄λŸ¬ν•œ 속성을 μ œκ±°ν•˜λŠ” 것이 쒋은 μƒκ°μž…λ‹ˆκΉŒ?

mc μ—μ„œ μ΄λŸ¬ν•œ 속성을 μ œκ±°ν•˜λŠ” 것이 쒋은 μƒκ°μž…λ‹ˆκΉŒ?

@zllovesuki λ₯Ό 지원할 수 μžˆμŠ΅λ‹ˆλ‹€. 버그

Minioλ₯Ό 직접 μ‚¬μš©ν•  λ•Œ 이것이 잘 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

mc: <DEBUG> POST /sjm-airlines/rhel-server-7.4-x86_64-dvd.iso?uploads= HTTP/1.1
Host: localhost:9000
User-Agent: Minio (linux; amd64) minio-go/v6.0.8 mc/2018-10-11T22:45:56Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minio/20181013/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-meta-user.xdg.origin.url, Signature=**REDACTED**
Content-Type: application/x-iso9660-image
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20181013T010537Z
X-Amz-Meta-User.xdg.origin.url: https://access.cdn.redhat.com//content/origin/files/sha256/43/431a58c8c0351803a608ffa56948c5a7861876f78ccbe784724dd8c987ff7000/rhel-server-7.4-x86_64-dvd.iso?_auth_=1520282889_258e1e3f3dc397397d0dace5891c60aa
Accept-Encoding: gzip

이 ν—€λ”λ‘œ λ­”κ°€λ₯Ό ν•˜λ €κ³  ν•˜λŠ” nginxμ—μ„œ λ¬Έμ œκ°€ λ°œμƒν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. MINIO_HTTP_TRACE=/dev/stdout을 ν™œμ„±ν™”ν•˜μ—¬ nginxκ°€ Minio에 λ³΄λ‚΄λŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆκΉŒ?

@zllovesuki ^^

@harshavardhana stdout λŠ” prod μ„œλ²„μ—μ„œ TRACEλ₯Ό ν•˜λ©΄ ν­λ°œν•  κ²ƒμž…λ‹ˆλ‹€. @tholu 의 ꡬ성을 μ°Έμ‘°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@harshavardhana stdout λŠ” prod μ„œλ²„μ—μ„œ TRACEλ₯Ό ν•˜λ©΄ ν­λ°œν•  κ²ƒμž…λ‹ˆλ‹€. @tholu 의 ꡬ성을 μ°Έμ‘°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@zllovesuki 당신도 파일 @zllovesuki μ“Έ 수 μžˆμŠ΅λ‹ˆκΉŒ? MINIO_HTTP_TRACE=trace.log

λ“œλ””μ–΄ 앉을 μ‹œκ°„μ΄ μƒκ²Όλ„€μš”...

λ‹€μŒμ€ 좔적 νŒŒμΌμž…λ‹ˆλ‹€. minio-trace.txt

참고둜 이것은 ν…ŒμŠ€νŠΈ minio의 yamlμž…λ‹ˆλ‹€.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: minio-test
  namespace: objectstore
spec:
  rules:
  - host: test.objectstore.co
    http:
      paths:
      - backend:
          serviceName: minio-test
          servicePort: 9000
        path: /
  tls:
  - hosts:
    - test.objectstore.co
    secretName: objectstore-tls-gs
---
apiVersion: v1
kind: Service
metadata:
  name: minio-test
  namespace: objectstore
spec:
  ports:
  - port: 9000
    protocol: TCP
    targetPort: 9000
  selector:
    app: minio-test
  sessionAffinity: None
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: minio-test
  name: minio-test
  namespace: objectstore
spec:
  replicas: 1
  selector:
    matchLabels:
      app: minio-test
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: minio-test
    spec:
      containers:
      - args:
        - server
        - /storage
        command:
        - minio
        env:
        - name: MINIO_ACCESS_KEY
          value: test
        - name: MINIO_SECRET_KEY
          value: testtest123
        - name: MINIO_BROWSER
          value: "off"
        - name: _MINIO_CACHE
          value: "off"
        - name: MINIO_HTTP_TRACE
          value: "/dev/stdout"
        image: minio/minio:RELEASE.2018-07-13T00-09-07Z
        imagePullPolicy: IfNotPresent
        name: minio
        ports:
        - containerPort: 9000
          protocol: TCP
        volumeMounts:
        - mountPath: /storage
          name: storage
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      volumes:
      - name: storage
        emptyDir: {}

μˆ˜μ‹  컨트둀러: https://github.com/kubernetes/ingress-nginx. λ‹€μŒ κ΅¬μ„±μœΌλ‘œ 이미지 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.19.0 μ‹€ν–‰:

apiVersion: v1
data:
  disable-access-log: "true"
  enable-dynamic-tls-records: "true"
  enable-modsecurity: "false"
  enable-owasp-modsecurity-crs: "false"
  enable-vts-status: "true"
  error-log-level: warn
  keep-alive: "60"
  load-balance: ip_hash
  max-worker-connections: "20480"
  proxy-body-size: 2g
  proxy-buffer-size: 64k
  proxy-connect-timeout: "5"
  proxy-read-timeout: "3600"
  proxy-send-timeout: "3600"
  proxy-stream-timeout: "604800"
  server-name-hash-max-size: "512"
  server-tokens: "false"
  ssl-ciphers: ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
  ssl-dh-param: default/nginx-dhparam-4096
  ssl-ecdh-curve: prime256v1:secp384r1:secp521r1
  ssl-protocols: TLSv1 TLSv1.1 TLSv1.2
  ssl-session-tickets: "false"
  worker-processes: "4"
kind: ConfigMap
metadata:
  name: nginx-conf
  namespace: default

@zllovesuki μš°λ¦¬λŠ” 해결책을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€ https://github.com/minio/mc/issues/2569 그리고 사싀 Nginx 문제

μ‚¬λžŒλ“€μ„ μœ„ν•΄ 인터넷 검색: configmapμ—μ„œ ignore-invalid-headers λ₯Ό false 둜 μ„€μ •

이 μŠ€λ ˆλ“œλŠ” λ‹«νžŒ ν›„ 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ μž κ²ΌμŠ΅λ‹ˆλ‹€. κ΄€λ ¨ 버그에 λŒ€ν•œ μƒˆ 문제λ₯Ό μ—¬μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰