โดยเฉพาะอย่างยิ่งเมื่อกำหนดค่าส่วนหัวHPKP (หรือส่วนหัวแบบยาวอื่น ๆ โดยทั่วไป) จะเป็นประโยชน์ในการแบ่งบรรทัดในการกำหนดค่า nginx ผ่านหลายบรรทัด
นี่คือผลลัพธ์ที่ต้องการ:
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg=";
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec=";
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg=";
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg=";
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo=";
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";
อย่างไรก็ตามสำหรับเบราว์เซอร์ควรเป็นหนึ่งบรรทัดเท่านั้น:
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";
ดังนั้นฉันจึงลองทำบางสิ่ง แต่ไม่พอใจกับผลลัพธ์ที่ได้ ...
ลองครั้งแรก: เพียงแค่แยกมัน
add_header Public-Key-Pins '
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg=";
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec=";
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg=";
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg=";
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo=";
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g=";
'
ทำงานได้ แต่curl
ฉันเห็นว่าเบราว์เซอร์ได้รับส่วนหัวพร้อมตัวแบ่งบรรทัดทั้งหมด ...
ลองครั้งที่สอง: แบ็กสแลช
จริง ๆ แล้วในบทความเชื่อมโยงแล้ว Scott Helme แนะนำสิ่งนี้:
add_header Public-Key-Pins ' \
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; \
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; \
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; \
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; \
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; \
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g="; \
'
อย่างไรก็ตามในกรณีของฉันนี่เพิ่งเพิ่มเครื่องหมายทับและส่งกลับไปยังเบราว์เซอร์ดังนั้นจึงไม่ทำงาน
แล้วฉันจะทำสิ่งนี้ได้อย่างไร
โบนัส
แน่นอนว่าความคิดเห็นสำหรับทุกบรรทัดจะเป็นการเพิ่มยอดเยี่ยม:
pin-sha256="X3pGTSOuJeEVw989IJ/cEtXUEmy52zs1TZQrU06KUKg="; # current ECDSA
pin-sha256="MHJYVThihUrJcxW6wcqyOISTXIsInsdj3xK8QrZbHec="; # current RSA (nginx 1.11.0)
pin-sha256="isi41AizREkLvvft0IRW4u3XMFR2Yg7bvrF7padyCJg="; # backup ECDSA 1
pin-sha256="I/bAACUzdYEFNw2ZKRaypOyYvvOtqBzg21g9a5WVClg="; # backup ECDSA 2
pin-sha256="Y4/Gxyck5JLLnC/zWHtSHfNljuMbOJi6dRQuRJTgYdo="; # backup RSA 1
pin-sha256="/oCVQg3nP3DroGpFdAbaiYzenycUftqrH3LAyaIal2g="; # backup RSA 2
1
สามารถใช้โมดูล Lua หรือ Perl ได้ไหม
—
Alexey Ten
อะไร? ฉันจะทำสิ่งนั้นได้อย่างไร แต่นอกเหนือจากนั้นฉันต้องการโซลูชันสำหรับสิ่งนี้ในไฟล์กำหนดค่า nginx โดยตรง ฉันหมายความว่ามันไม่ใช่คำขอพิเศษที่จะสามารถใช้หลายบรรทัดสำหรับคำสั่งปรับแต่ง ... อย่างน้อยนี่คือสิ่งที่ฉันคิด
—
2559
อาจยังอยู่ในไฟล์ปรับแต่งของคุณ เป็นเพียงคำถามถ้า nginx ของคุณถูกคอมไพล์โดยเปิดใช้งานหนึ่งในโมดูลเหล่านี้
—
Alexey Ten
ขณะนี้ยังไม่ได้รวบรวมกับโมดูลเหล่านี้ (เว้นแต่พวกเขาจะอยู่ในชุดเริ่มต้นของโมดูลที่รวบรวมโดย nginx) แต่ฉันสามารถรวบรวมเวอร์ชั่นด้วยโมดูลดังกล่าวได้อย่างแน่นอน ... หากมันช่วยแก้ปัญหานี้ได้ "
—
2559