Slide 1

Slide 1 text

͜͡͠ΐ͏͔͍ 2019 2019/07/11(Thu) Tech Lunch Jun Watanabe @rela1470

Slide 2

Slide 2 text

Jun Watanabe @rela1470 • Work • ORATTA, Inc. • 2010/11 - 2019/06 • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer • Kyash Inc. • 2019/07 - • Corporate Engineer(৘γε)

Slide 3

Slide 3 text

Jun Watanabe @rela1470 • Work • ORATTA, Inc. • 2010/11 - 2019/06 • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer • Kyash Inc. • 2019/07 - • Corporate Engineer(৘γε)

Slide 4

Slide 4 text

2016೥ Treasure DataΛશࣾಋೖ • ຊ൪DBʹKPIΫΤϦΛ ௚઀ྲྀ͍ͯͨ͠ϠόΠ γεςϜΛۦஞ • CSɺσΟϨΫλʔʹ PrestoΛ֮͑ͤͨ͞

Slide 5

Slide 5 text

2017/10/23 • PWAλΠτϧΛDMM(R-18)ͰϦϦʔε • ϦϦʔε௚ޙͷεύΠΫ͕ੌ͔ͬͨ • ཪNICͷ2GbpsΛ1.8Gbps·Ͱ৯͍ͭͿͨ͠ • Web - Session(redis)ؒͷ௨৴Ͱṧഭ • ڞ༻Ϋϥ΢υͳͷͰଞͷ͓٬༷Λ௥͍ग़ͯ͠΋Βͬͨ • Ӧۀ͞Μ΍Δ͡ΌΜ!

Slide 6

Slide 6 text

Jun Watanabe @rela1470 • Work • ORATTA, Inc. • 2010/11 - 2019/06 • ITSD(৘γε) / SRE / ٕज़޿ใ / Backend (PHP) / Chief Engineer • Kyash Inc. • 2019/07 - • Corporate Engineer(৘γε)

Slide 7

Slide 7 text

θϩτϥετηΩϡϦςΟ • ࣾ಺ωοτϫʔΫͬͯ֓೦μα͍ΑͶ • IPΞυϨε੍ݶͱ͔࣌୅஗ΕͩΑͶ • IDaaSͷOneLoginΛಋೖ • PCϩάΠϯɺSaaSͷϩάΠϯΛ౷Ұ • ಺੡πʔϧ΋શͯSAMLʹ౷Ұ • ൒೥͘Β͍͔͚ͯ150ݸ͘Β͍

Slide 8

Slide 8 text

2018/06 GREEάϧʔϓʹJOIN • ηΩϡϦςΟཁٻ͕ϕϯνϟʔ͔Β͍͖ͳΓ্৔اۀج४ʹɻ • ͦ͜·ͰΫϦςΟΧϧͳ΋ͷ͸ͳ͔ͬͨ • OneLogin͔ΒAzure ADʹҠߦ • θϩτϥετͷ֓೦͸NG൑அ • ࣾ಺ωοτϫʔΫΛશͯDCʹ৐ͤΔܦݧ͸وॏͩͬͨ • 2019/06 ٵऩ߹ซফ໓ͱಉ࣌ʹୀ৬

Slide 9

Slide 9 text

Jun Watanabe @rela1470 • Private • ग़਎ ๺ւಓͷͲాࣷग़਎ • झຯ ΧϯϑΝϨϯεӡӦ • झຯ υϝΠϯऔಘ

Slide 10

Slide 10 text

Jun Watanabe @rela1470 • Private • ग़਎ ๺ւಓͷͲాࣷग़਎ • झຯ ΧϯϑΝϨϯεӡӦ • झຯ υϝΠϯऔಘ

Slide 11

Slide 11 text

༙ผொ • ΰΩϒϦ෼෍๺ݶͷொ • ࢢ֎ہ൪͕4ܻɻ΋͏41Օॴ͔͠ ݱଘ͍ͯ͠ͳ͍ • 01586 - 2 - xxxx • ༣ศ൪߸͕೔ຊͰҰ൪େ͖͍ • 099 - 6509 • 099 ͸ 1099ͷུ • 100͸౦ژ

Slide 12

Slide 12 text

Jun Watanabe @rela1470 • Private • ग़਎ ๺ւಓͷͲాࣷग़਎ • झຯ ΧϯϑΝϨϯεӡӦ • झຯ υϝΠϯऔಘ

Slide 13

Slide 13 text

ίΞελοϑֻ͚࣋ͪ͠ΜͲ͍(ମྗͱۈଵతʹ) ٕज़ίϛϡχςΟʹର͢Δߩݙͱ͔Ͱ ۀ຿ѻ͍ʹͳΒͳ͍͔ͳʔ ٕज़ΧϯϑΝϨϯείΞελοϑۀ

Slide 14

Slide 14 text

͝໎࿭͓͔͚͠·͢! • 08/29, 08/30, 08/31 builderscon tokyo 2019 • 09/05, 09/06, 09/07 iOSDC Japan 2019 • 2020/02 PHPerKaigi 2020 • 2020/03 Laravel JP Conference 2020 • ౰೔ελοϑืूத!

Slide 15

Slide 15 text

Jun Watanabe @rela1470 • Private • ग़਎ ๺ւಓͷͲాࣷग़਎ • झຯ ΧϯϑΝϨϯεӡӦ • झຯ υϝΠϯऔಘ

Slide 16

Slide 16 text

PHPerKaigi 2019 Ͱొஃͨ͠಺༰

Slide 17

Slide 17 text

yasero.dev ࣗ෼ͷମॏΛࡽ͢αΠτ

Slide 18

Slide 18 text

Endless Work ແݶʹಇ͘αΠτ

Slide 19

Slide 19 text

https:// workworkworkworkworkwork.w orkworkworkworkworkworkwor kworkworkwork.workworkwork workworkworkworkworkworkw orkworkworkworkworkwork.wo rkworkworkworkworkworkwork workworkworkworkworkworkw orkwork.workworkworkworkwo rkworkworkworkworkworkwork workworkworkwork.work/

Slide 20

Slide 20 text

RFC1035 2.3.4. Size limits 255 Octet

Slide 21

Slide 21 text

ఆٛจࣈ௕ ΦΫςοτ ϥϕϧจࣈྻ NBY ΦΫςοτ  XPSLXPSLXPSLXPSLXPSLXPSL  XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL  XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL  XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL  XPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSLXPSL  XPSL  0DUFU 0DUFU   workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork.workworkworkworkwor kworkworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkworkwor kworkworkworkwork.workworkworkworkworkworkworkworkworkworkworkworkworkworkwork.work ↓ = 255 octet = 253จࣈ(υοτؚ)

Slide 22

Slide 22 text

ϝʔϧΞυϨε͸?

Slide 23

Slide 23 text

RFC5321 4.5.3.1.3. Path 256 Octet

Slide 24

Slide 24 text

શମͰ࠷େ 256 Octet ·Ͱ (υοτ΍ΞοτϚʔΫ΋ؚΉ) υϝΠϯͰ 255 Octet ࢖͏ͷͰ…

Slide 25

Slide 25 text

υϝΠϯ͕࠷େ௕ͩͱ ࣮࣭ൃߦͰ͖ͳ͍ @workworkworkworkworkwork.workworkworkworkwo rkworkworkworkworkwork.workworkworkworkworkw orkworkworkworkworkworkworkworkworkwork.work workworkworkworkworkworkworkworkworkworkwork workworkwork.workworkworkworkworkworkworkwor kworkworkworkworkworkworkwork.work ↑Ͱ256ΦΫςοτ(254จࣈ)

Slide 26

Slide 26 text

URLશମͷ੍ݶ͸ͳ͍

Slide 27

Slide 27 text

100ສจࣈ·Ͱಈ࡞֬ೝࡁΈ https://qiita.com/nwtgck/items/e83473dc63386d2da3e5

Slide 28

Slide 28 text

HTTPSԽ

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

DNS name too long # /usr/local/certbot/certbot-auto certonly --webroot -w /work.work - d workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork.wo rkworkworkworkworkworkworkworkworkworkworkworkworkworkwork.workworkw orkworkworkworkworkworkworkworkworkworkworkworkwork.workworkworkwork workworkworkworkworkworkworkworkworkworkwork.work Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate An unexpected error occurred: The request message was malformed :: Error creating new authz :: DNS name too long Please see the logfiles in /var/log/letsencrypt for more details.

Slide 31

Slide 31 text

certbot͕230จࣈҎ্Λ ड͚෇͚ͳ͍

Slide 32

Slide 32 text

಺෦తʹJSONͷϝλ৘ใͰ 25จࣈ࢖ͬͯ͠·͏ͨΊ letsencrypt/boulder.git/policy/pa.go@126 // TODO(#3237): Right now our schema for the authz table only allows 255 characters // for identifiers, including JSON wrapping, which takes up 25 characters. For // now, we only allow identifiers up to 230 characters in length. When we are // able to do a migration to update this table, we can allow DNS names up to // 253 characters in length. maxLabelLength = 63 maxDNSIdentifierLength = 230 `identifier` varchar(255) NOT NULL, {"type":"dns","value":"example.com"} https://community.letsencrypt.org/t/i-want-use-max-255-octet-domain/51279

Slide 33

Slide 33 text

Let’s Encrypt ͕ବ໨ͳΒ…

Slide 34

Slide 34 text

ී௨ͷ༗ྉSSLͳΒ ͍͚Μͷ͔

Slide 35

Slide 35 text

# openssl req -new -key key.pem -out key.csr Common Name (eg, fully qualified host name) []:workworkworkworkworkwork.workworkworkworkworkworkworkworkworkwork .workworkworkworkworkworkworkworkworkworkworkworkworkworkwork.workwo rkworkworkworkworkworkworkworkworkworkworkworkworkwork.workworkworkw orkworkworkworkworkworkworkworkworkworkworkwork.work OpenSSLͰCSRൃߦ΍!

Slide 36

Slide 36 text

string is too long, it needs to be less than 64 bytes long

Slide 37

Slide 37 text

RFC 5280 Appendix A.1 ub-common-name-length INTEGER ::= 64 ͪΐͬͱࣗ৴ͳ͍

Slide 38

Slide 38 text

αʔόʔϨε΍!

Slide 39

Slide 39 text

Firebase Hosting ແྉSSL+ແྉCDN(݄50GB·Ͱ)

Slide 40

Slide 40 text

Firebase Hosting ແྉSSL+ແྉCDN(݄50GB·Ͱ)

Slide 41

Slide 41 text

Firebase Hosting ແྉSSL+ແྉCDN(݄50GB·Ͱ)

Slide 42

Slide 42 text

SSL͕͍ͭ·Ͱܦͬͯ΋ ൓ө͞Εͳ͍

Slide 43

Slide 43 text

UI΋յΕΔ

Slide 44

Slide 44 text

ACME v2 API ϫΠϧυΧʔυূ໌ॻ

Slide 45

Slide 45 text

cert-bot SAN ରԠ υϝΠϯෳ਺ࢦఆͰ͖Δ & ઌ಄ͷυϝΠϯ͕CNʹ

Slide 46

Slide 46 text

workworkworkworkworkw orkworkworkworkworkwor kworkworkworkwork.work 65จࣈ

Slide 47

Slide 47 text

workworkworkworkwork. work 25จࣈ

Slide 48

Slide 48 text

./certbot-auto certonly --manual -d workworkworkworkwork.work -d *.workworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkw orkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkwork workworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkwor kworkworkworkworkwork.work -m [email protected] --agree-tos --manual- public-ip --preferred-challenges dns-01 --server https://acme- v02.api.letsencrypt.org/directory

Slide 49

Slide 49 text

Congratulations! ./certbot-auto certonly --manual -d workworkworkworkwork.work -d *.workworkworkworkworkworkworkworkworkwork.workworkworkworkworkworkw orkworkworkworkworkworkworkworkwork.workworkworkworkworkworkworkwork workworkworkworkworkworkwork.workworkworkworkworkworkworkworkworkwor kworkworkworkworkwork.work -m [email protected] --agree-tos --manual- public-ip --preferred-challenges dns-01 --server https://acme- v02.api.letsencrypt.org/directory IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/workworkworkworkwork.work/fullchain.pem

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

http://bit.ly/endless_work Jun Watanabe@rela1470 https://rela.red/ https://yasero.dev/