Mercurial > hg > nginx-site
comparison xml/tr/docs/http/configuring_https_servers.xml @ 490:9913f1d51c07
Replaced "nginx" domain names with example domains.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 19 Apr 2012 12:30:24 +0000 |
parents | 6135f3c95bf6 |
children | 130fad6dc1b4 |
comparison
equal
deleted
inserted
replaced
489:2abd1998a0cc | 490:9913f1d51c07 |
---|---|
12 Bir HTTPS sunucusunu yapılandırmak için, server bloğu içerisinde SSL’i etkin hale getirmeli ve sunucu sertifikası ve özel anahtar dosyaları belirtmelisiniz: | 12 Bir HTTPS sunucusunu yapılandırmak için, server bloğu içerisinde SSL’i etkin hale getirmeli ve sunucu sertifikası ve özel anahtar dosyaları belirtmelisiniz: |
13 | 13 |
14 <programlisting> | 14 <programlisting> |
15 server { | 15 server { |
16 listen 443; | 16 listen 443; |
17 server_name www.nginx.com; | 17 server_name www.example.com; |
18 ssl on; | 18 ssl on; |
19 ssl_certificate www.nginx.com.crt; | 19 ssl_certificate www.example.com.crt; |
20 ssl_certificate_key www.nginx.com.key; | 20 ssl_certificate_key www.example.com.key; |
21 ssl_protocols SSLv3 TLSv1; | 21 ssl_protocols SSLv3 TLSv1; |
22 ssl_ciphers HIGH:!ADH:!MD5; | 22 ssl_ciphers HIGH:!ADH:!MD5; |
23 ... | 23 ... |
24 } | 24 } |
25 </programlisting> | 25 </programlisting> |
26 | 26 |
27 Sunucu sertifikası herkese açık bir birimdir. Sunucuya bağlanan her istemciye gönderilir. Özel anahtar ise gizli bir birimdir ve erişimi engellenmiş bir alanda saklanır. Ancak nginx’in ana işlemi tarafından okunabilir olmalıdır. Özel anahtar, alternatif olarak sertifika ile aynı dosya içerisinde saklanabilir: | 27 Sunucu sertifikası herkese açık bir birimdir. Sunucuya bağlanan her istemciye gönderilir. Özel anahtar ise gizli bir birimdir ve erişimi engellenmiş bir alanda saklanır. Ancak nginx’in ana işlemi tarafından okunabilir olmalıdır. Özel anahtar, alternatif olarak sertifika ile aynı dosya içerisinde saklanabilir: |
28 | 28 |
29 <programlisting> | 29 <programlisting> |
30 ssl_certificate www.nginx.com.cert; | 30 ssl_certificate www.example.com.cert; |
31 ssl_certificate_key www.nginx.com.cert; | 31 ssl_certificate_key www.example.com.cert; |
32 </programlisting> | 32 </programlisting> |
33 | 33 |
34 Bu durumda dosya erişimi kısıtlanmalıdır. Aynı dosyada yer alsalar da istemciye sadece sertifika gönderilir. | 34 Bu durumda dosya erişimi kısıtlanmalıdır. Aynı dosyada yer alsalar da istemciye sadece sertifika gönderilir. |
35 </para> | 35 </para> |
36 | 36 |
55 <b>ssl_session_cache shared:SSL:10m</b>; | 55 <b>ssl_session_cache shared:SSL:10m</b>; |
56 <b>ssl_session_timeout 10m</b>; | 56 <b>ssl_session_timeout 10m</b>; |
57 | 57 |
58 server { | 58 server { |
59 listen 443; | 59 listen 443; |
60 server_name www.nginx.com; | 60 server_name www.example.com; |
61 <b>keepalive_timeout 70</b>; | 61 <b>keepalive_timeout 70</b>; |
62 | 62 |
63 ssl on; | 63 ssl on; |
64 ssl_certificate www.nginx.com.crt; | 64 ssl_certificate www.example.com.crt; |
65 ssl_certificate_key www.nginx.com.key; | 65 ssl_certificate_key www.example.com.key; |
66 ssl_protocols SSLv3 TLSv1; | 66 ssl_protocols SSLv3 TLSv1; |
67 ssl_ciphers HIGH:!ADH:!MD5; | 67 ssl_ciphers HIGH:!ADH:!MD5; |
68 ... | 68 ... |
69 </programlisting> | 69 </programlisting> |
70 </para> | 70 </para> |
76 | 76 |
77 <para> | 77 <para> |
78 Bazı tarayıcılar popüler bir sertifika otoritesi tarafından imzalanmış sertifikaları sorunsuz kabul ederken, diğerleri sorun çıkarabilir. Bunun nedeni sertifika otoritesinin, sunucu sertifikasını, güvenilir sertifika veri tabanında yer almayan aracı bir sertifikayı kullanarak imzalamış olmasıdır. Bu durumda otorite, imzalanmış sertifikaya art arda bağlanması gereken bir dizi sertifika zinciri sunar. Bir araya geldikleri dosyada ilk önce sunucu sertifikası daha sonra zincirlenmiş sertifikalar yer almalıdır: | 78 Bazı tarayıcılar popüler bir sertifika otoritesi tarafından imzalanmış sertifikaları sorunsuz kabul ederken, diğerleri sorun çıkarabilir. Bunun nedeni sertifika otoritesinin, sunucu sertifikasını, güvenilir sertifika veri tabanında yer almayan aracı bir sertifikayı kullanarak imzalamış olmasıdır. Bu durumda otorite, imzalanmış sertifikaya art arda bağlanması gereken bir dizi sertifika zinciri sunar. Bir araya geldikleri dosyada ilk önce sunucu sertifikası daha sonra zincirlenmiş sertifikalar yer almalıdır: |
79 | 79 |
80 <programlisting> | 80 <programlisting> |
81 $ cat www.nginx.com.crt bundle.crt > www.nginx.com.chained.crt | 81 $ cat www.example.com.crt bundle.crt > www.example.com.chained.crt |
82 </programlisting> | 82 </programlisting> |
83 | 83 |
84 Oluşan dosya <literal>ssl_certificate</literal> yönergesi içinde kullanılmalıdır: | 84 Oluşan dosya <literal>ssl_certificate</literal> yönergesi içinde kullanılmalıdır: |
85 | 85 |
86 <programlisting> | 86 <programlisting> |
87 server { | 87 server { |
88 listen 443; | 88 listen 443; |
89 server_name www.nginx.com; | 89 server_name www.example.com; |
90 ssl on; | 90 ssl on; |
91 ssl_certificate www.nginx.com.chained.crt; | 91 ssl_certificate www.example.com.chained.crt; |
92 ssl_certificate_key www.nginx.com.key; | 92 ssl_certificate_key www.example.com.key; |
93 ... | 93 ... |
94 } | 94 } |
95 </programlisting> | 95 </programlisting> |
96 | 96 |
97 Eğer bu art arda diziliş yanlış yapılmış olursa, nginx başlamayacak ve aşağıdakine benzer bir hata mesajını verecektir: | 97 Eğer bu art arda diziliş yanlış yapılmış olursa, nginx başlamayacak ve aşağıdakine benzer bir hata mesajını verecektir: |
98 | 98 |
99 <programlisting> | 99 <programlisting> |
100 SSL_CTX_use_PrivateKey_file(" ... /www.nginx.com.key") failed | 100 SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed |
101 (SSL: error:0B080074:x509 certificate routines: | 101 (SSL: error:0B080074:x509 certificate routines: |
102 X509_check_private_key:key values mismatch) | 102 X509_check_private_key:key values mismatch) |
103 </programlisting> | 103 </programlisting> |
104 | 104 |
105 Bu durum, nginx’in sunucu sertifikası yerine zincirlenmiş sertifikaların ilkinin özel anahtarını kullanmaya çalışması sonucu oluşur. | 105 Bu durum, nginx’in sunucu sertifikası yerine zincirlenmiş sertifikaların ilkinin özel anahtarını kullanmaya çalışması sonucu oluşur. |
151 | 151 |
152 <programlisting> | 152 <programlisting> |
153 server { | 153 server { |
154 listen 80; | 154 listen 80; |
155 listen 443 ssl; | 155 listen 443 ssl; |
156 server_name www.nginx.com; | 156 server_name www.example.com; |
157 ssl_certificate www.nginx.com.crt; | 157 ssl_certificate www.example.com.crt; |
158 ssl_certificate_key www.nginx.com.key; | 158 ssl_certificate_key www.example.com.key; |
159 ... | 159 ... |
160 } | 160 } |
161 </programlisting> | 161 </programlisting> |
162 | 162 |
163 <note> | 163 <note> |
177 Bir IP adresini dinleyen iki veya daha fazla HTTPS sunucusunu yapılandırdığınız zaman genel bir problem ortaya çıkar: | 177 Bir IP adresini dinleyen iki veya daha fazla HTTPS sunucusunu yapılandırdığınız zaman genel bir problem ortaya çıkar: |
178 | 178 |
179 <programlisting> | 179 <programlisting> |
180 server { | 180 server { |
181 listen 443; | 181 listen 443; |
182 server_name www.nginx.com; | 182 server_name www.example.com; |
183 ssl on; | 183 ssl on; |
184 ssl_certificate www.nginx.com.crt; | 184 ssl_certificate www.example.com.crt; |
185 ... | 185 ... |
186 } | 186 } |
187 | 187 |
188 server { | 188 server { |
189 listen 443; | 189 listen 443; |
190 server_name www.nginx.org; | 190 server_name www.example.org; |
191 ssl on; | 191 ssl on; |
192 ssl_certificate www.nginx.org.crt; | 192 ssl_certificate www.example.org.crt; |
193 ... | 193 ... |
194 } | 194 } |
195 </programlisting> | 195 </programlisting> |
196 | 196 |
197 Bu yapılandırmada, bir tarayıcı talep edilen sunucuya bakmadan, varsayılan sunucunun sertifikasını alır, örneğin: <url>www.nginx.com</url>. Bu SSL protokolüne özgü bir durumdan kaynaklanır. SSL bağlantısı, tarayıcının HTTP talebi göndermesinden önce kurulur ve nginx talep edilen sunucunun adını bilmez. Bu nedenle yalnızca varsayılan sunucunun sertifikasını önerir. | 197 Bu yapılandırmada, bir tarayıcı talep edilen sunucuya bakmadan, varsayılan sunucunun sertifikasını alır, örneğin: <url>www.example.com</url>. Bu SSL protokolüne özgü bir durumdan kaynaklanır. SSL bağlantısı, tarayıcının HTTP talebi göndermesinden önce kurulur ve nginx talep edilen sunucunun adını bilmez. Bu nedenle yalnızca varsayılan sunucunun sertifikasını önerir. |
198 </para> | 198 </para> |
199 | 199 |
200 <para> | 200 <para> |
201 Bu problemi çözmenin en eski ve sağlam methodu HTTPS sunucularının her birine ayrı IP adresleri atamaktır: | 201 Bu problemi çözmenin en eski ve sağlam methodu HTTPS sunucularının her birine ayrı IP adresleri atamaktır: |
202 | 202 |
203 <programlisting> | 203 <programlisting> |
204 server { | 204 server { |
205 listen 192.168.1.1:443; | 205 listen 192.168.1.1:443; |
206 server_name www.nginx.com; | 206 server_name www.example.com; |
207 ssl on; | 207 ssl on; |
208 ssl_certificate www.nginx.com.crt; | 208 ssl_certificate www.example.com.crt; |
209 ... | 209 ... |
210 } | 210 } |
211 | 211 |
212 server { | 212 server { |
213 listen 192.168.1.2:443; | 213 listen 192.168.1.2:443; |
214 server_name www.nginx.org; | 214 server_name www.example.org; |
215 ssl on; | 215 ssl on; |
216 ssl_certificate www.nginx.org.crt; | 216 ssl_certificate www.example.org.crt; |
217 ... | 217 ... |
218 } | 218 } |
219 </programlisting> | 219 </programlisting> |
220 </para> | 220 </para> |
221 | 221 |
224 | 224 |
225 <section id="certificate_with_several_names" | 225 <section id="certificate_with_several_names" |
226 name="Birçok ad içeren SSL sertifikası"> | 226 name="Birçok ad içeren SSL sertifikası"> |
227 | 227 |
228 <para> | 228 <para> |
229 Bir tekil IP’yi birçok HTTPS sunucu arasında paylaştırmanın başka yolları da vardır, ancak bunların hepsi dezavantajlara sahiptir. Bunlardan biri, birçok ad içeren bir sertifikanın, SubjectAltName sertifika alanında kullanılmasıdır. Örneğin: <url>www.nginx.com</url> ve <url>www.nginx.org</url>. Ancak SubjectAltName alan uzunluğu sınırlandırılmıştır. | 229 Bir tekil IP’yi birçok HTTPS sunucu arasında paylaştırmanın başka yolları da vardır, ancak bunların hepsi dezavantajlara sahiptir. Bunlardan biri, birçok ad içeren bir sertifikanın, SubjectAltName sertifika alanında kullanılmasıdır. Örneğin: <url>www.example.com</url> ve <url>www.example.org</url>. Ancak SubjectAltName alan uzunluğu sınırlandırılmıştır. |
230 </para> | 230 </para> |
231 | 231 |
232 <para> | 232 <para> |
233 Diğer bir yol ise bir sertifikayı bir wildcard adı ile birlikte kullanmaktır. Örneğin: <url>*.nginx.org</url>. Bu sertifika <url>www.nginx.org</url> ile eşleşir ancak <url>nginx.org</url> ve <url>www.sub.nginx.org</url> ile eşleşmez. Bu iki method birlikte de kullanılabilir. Bir sertifika SubjectAltName alanı içerisinde gerçek ve wildcard adlarını içerebilir. Örneğin: <url>nginx.org</url> ve <url>*.nginx.org</url>. | 233 Diğer bir yol ise bir sertifikayı bir wildcard adı ile birlikte kullanmaktır. Örneğin: <url>*.example.org</url>. Bu sertifika <url>www.example.org</url> ile eşleşir ancak <url>example.org</url> ve <url>www.sub.example.org</url> ile eşleşmez. Bu iki method birlikte de kullanılabilir. Bir sertifika SubjectAltName alanı içerisinde gerçek ve wildcard adlarını içerebilir. Örneğin: <url>example.org</url> ve <url>*.example.org</url>. |
234 </para> | 234 </para> |
235 | 235 |
236 <para> | 236 <para> |
237 Tüm sunuculardaki tekil hafıza kopyalarını devralması için, birçok ad içeren bir sertifika dosyası ve onun özel anahtar dosyasını, yapılandırmanın <i>http</i> düzeyinde bulundurmak en iyisidir: | 237 Tüm sunuculardaki tekil hafıza kopyalarını devralması için, birçok ad içeren bir sertifika dosyası ve onun özel anahtar dosyasını, yapılandırmanın <i>http</i> düzeyinde bulundurmak en iyisidir: |
238 | 238 |
240 ssl_certificate common.crt; | 240 ssl_certificate common.crt; |
241 ssl_certificate_key common.key; | 241 ssl_certificate_key common.key; |
242 | 242 |
243 server { | 243 server { |
244 listen 443; | 244 listen 443; |
245 server_name www.nginx.com; | 245 server_name www.example.com; |
246 ssl on; | 246 ssl on; |
247 ... | 247 ... |
248 } | 248 } |
249 | 249 |
250 server { | 250 server { |
251 listen 443; | 251 listen 443; |
252 server_name www.nginx.org; | 252 server_name www.example.org; |
253 ssl on; | 253 ssl on; |
254 ... | 254 ... |
255 } | 255 } |
256 </programlisting> | 256 </programlisting> |
257 </para> | 257 </para> |