目标:
讓自己的網站,yyii.info用https://yyii.info通路,
條件:
1.用的是阿裡雲伺服器,
2.在阿裡雲申請一個免費的證書。在安全(雲盾)欄目->證書服務。
申請後,大約1天,會提示下載下傳相關檔案,上傳到網站下。然後再等待自動稽核通過。
之後,就能下載下傳證書。
下載下傳來有4個檔案,
214113615990489.key,
214113615990489.pem,
chain.pem
public.pem
(域名放在西部數位的,也能申請一個免費證書。好象不能用到阿裡雲這邊來。)
阿裡雲裡有相關說明,如何布署證書。(這一段見本文後面)
因我的伺服器是按oneinstack安裝的。就不需使用阿裡雲的方法。
3.配置網站
./vhost.sh
配置了一個網站,
Do you want to setup SSL under Nginx? [y/n]: y
其他的按提示來。上面如果不是配置https的網站,就選n.
4.然後,可看到,
在/usr/local/nginx/conf/ssl
生成了,三個檔案,
yyii.info.crt
yyii.info.csr
yyii.info.key
5.
但同時,也報了如下:
nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/usr/local/nginx/conf/ssl/yyii.info.crt"
AH00526: Syntax error on line 6 of /usr/local/apache/conf/vhost/yyii.info.conf:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
https仍是不能通路。
6.
群主yeho告訴我:你這個自簽名證書 自己購買證書替換 重新開機nginx即可
7.
我在阿裡雲申請得到一年的免費證書,
然後,我是把這4個檔案,放在,/usr/local/nginx/conf/ssl下
214113615990489.key,重命名為 ,域名.key
214113615990489.pem重命名為, 域名.crt
在此感謝群主指點,不然自己哪裡會知道啊!
8.重新開機nginx
有一點注意,如果網站下有index.html,會先讀index.html.
10.
讓我們再看看:
oneinstack生成的,/usr/local/nginx/conf/vhost/yyii.info.conf
1
2
3
4
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<code>server {</code>
<code> </code><code>listen 80;</code>
<code> </code><code>listen 443 ssl http2;</code>
<code> </code><code>ssl_certificate /usr/local/nginx/conf/ssl/yyii.info.crt;</code>
<code> </code><code>ssl_certificate_key /usr/local/nginx/conf/ssl/yyii.info.key;</code>
<code> </code><code>ssl_protocols TLSv1 TLSv1.1 TLSv1.2;</code>
<code> </code><code>ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;</code>
<code> </code><code>ssl_prefer_server_ciphers on;</code>
<code> </code><code>ssl_session_timeout 10m;</code>
<code> </code><code>ssl_session_cache builtin:1000 shared:SSL:10m;</code>
<code> </code><code>ssl_buffer_size 1400;</code>
<code> </code><code>add_header Strict-Transport-Security max-age=15768000;</code>
<code> </code><code>ssl_stapling on;</code>
<code> </code><code>ssl_stapling_verify on;</code>
<code> </code><code>server_name yyii.info;</code>
<code> </code><code>access_log off;</code>
<code> </code><code>index index.html index.htm index.php;</code>
<code> </code><code>root /data/wwwroot/yyii.info;</code>
<code> </code><code>if</code> <code>(</code><code>$ssl_protocol</code> <code>= </code><code>""</code><code>) { </code><code>return</code> <code>301 https:</code><code>//$host$request_uri; }</code>
<code> </code><code>location / {</code>
<code> </code><code>try_files </code><code>$uri</code> <code>@apache;</code>
<code> </code><code>}</code>
<code> </code><code>location @apache {</code>
<code> </code><code>proxy_pass http:</code><code>//127.0.0.1:88;</code>
<code> </code><code>include</code> <code>proxy.conf;</code>
<code> </code><code>location ~ .*\.(php|php5|cgi|pl)?$ {</code>
<code> </code><code>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {</code>
<code> </code><code>expires 30d;</code>
<code> </code><code>access_log off;</code>
<code> </code><code>location ~ .*\.(js|css)?$ {</code>
<code> </code><code>expires 7d;</code>
<code> </code><code>location ~ /\.ht {</code>
<code> </code><code>deny all;</code>
11.看看 阿裡雲裡寫的如何安裝證書,apache下,
---------- 招募未來大神 -----------------------
如果您有利他之心,樂于幫助他人,樂于分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答
歡迎加入,PHP技術問答群,QQ群:292626152
教學相長!幫助他人,自己也會得到提升!
為了珍惜每個人的寶貴時間,請大家不要閑聊。
願我們互相幫助,共同成長!
加入時留言暗号,php,ajax,thinkphp,yii...
本文轉自phpervip 51CTO部落格,原文連結http://blog.51cto.com/phpervip/1932004:,如需轉載請自行聯系原作者