lnmp1.4配置https教程

1、準備環境php

LNMP 1.4

下載版:(不含源碼安裝包文件,僅有安裝腳本及配置文件)
http://soft.vpser.net/lnmp/lnmp1.4.tar.gz  (134KB)
MD5: 223585139fb613f47990b1b41979adea

完整版:
國內:http://soft1.vpser.net/lnmp/lnmp1.4-full.tar.gz  (467MB)
國外:http://soft2.vpser.net/lnmp/lnmp1.4-full.tar.gz  (467MB)
MD5: f1121dbf903e02f2e98987f6cabd5198

最後更新:2018年2月28日 10:50 GMT+8
下載完建議先驗證MD5。

2、實操流程nginx

    一、已部署上線項目,添加https,執行lnmp ssl addapache

    

    二、選擇配置SSL證書方式框架

   

    三、完成配置SSL證書codeigniter

    

    四、檢查Let's Encrypt是否自動續期工具

    

    五、部署SSL證書後續工做(301跳轉網站

        咱們在安裝SSL證書以後,http和https都是能夠訪問到站點的,可是爲了惟一性,咱們確定須要作301跳轉到https指向。spa

一、目錄地址文件.net

/usr/local/nginx/conf/vhost

        咱們須要到這個目錄中當前站點的.conf配置文件。code

二、修改配置文件

server
    {
        listen 80;
        server_name www.xxx.com;
        rewrite ^(.*) https://$server_name$1 permanent;
    }

咱們將上面的腳本添加到當前站點配置文件中。(conf配置文件,雙server)

server
    {
        listen 443;
        server_name www.xxx.com;
        ......
    }
server
    {
        listen 80;
        server_name www.xxx.com;
        rewrite ^(.*) https://$server_name$1 permanent;
    }

        總結,就這樣咱們就很快速、簡單的在站點部署了Let's Encrypt免費SSL證書。老左估摸着具體的部署方法在新版本出來的時候也不會有太大變化。

問題1:nginx: [warn] conflicting server name "www.xxx.com" on 0.0.0.0:443, ignored

        我原本域名是在http下的,新增https域名訪問,lnmp自動在www.xxx.com.conf下插入了一個新的server致使報錯,刪除便可

問題2:防跨目錄設置

    lnmp1.4上若是不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還須要將

/usr/local/nginx/conf/fastcgi.conf

裏面的

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

在該行行前添加 # 或刪除改行,須要重啓nginx。

lnmp1.4上也能夠直接使用lnmp1.4/tools/ 目錄下的

 

進行移除。
在Thinkphp、codeigniter、Laravel等框架下,網站目錄通常是在public下,可是public下的程序要跨目錄調用public上級目錄下的文件,由於LNMP默認是不容許跨目錄訪問的,因此都是必需要將防跨目錄訪問的設置去掉,有時候這些框架類的程序提示500錯誤也多是這個問題引發的

LNMPA或LAMP 模式1.2版本以上的防跨目錄的設置使用的對應apache虛擬主機配置文件(lnmp管理工具添加的話文件是 /usr/local/apache/conf/vhost/域名.conf )裏的php_admin_value open_basedir參數進行設置。若是不須要設置能夠在前面加 # 進行註釋,或自行修改目錄的限制。 重啓apache生效。

相關文章
相關標籤/搜索