提問三步曲: 提問先看教程/FAQ索引(wdcp,wdcp_v3,一鍵包)及搜索,會讓你更快解決問題
1 提供詳細,如系統版本,wdcp版本,軟件版本等及錯誤的詳細信息,貼上論壇或截圖發(fā)論壇
2 做過哪些操作或改動設置等
溫馨提示:信息不詳,很可能會沒人理你!論壇有教程說明的,也可能沒人理!因為,你懂的
本帖最后由 wolfone 于 2017-8-4 02:59 編輯
剛好碰到同樣的問題,查了一下資料,經測試是可以解決的
1,配置文件nginx/conf/nginx.conf按主機分配,這個你可以參考wdcp的寫法
我理解就是不同的站點,單獨一個配置文件
2,不同主機證書配置就在當前主機的配置文件里面來解決
例如我有兩個站點a.com和b.com,a.com站點又綁定域名c.com
那么配置文件vhost里面就有 a.com.conf和b.com.conf兩個配置文件
3,先來給把所有證書文件上傳
因為個人大多用免費證書,所以先假設3個域名申請不同的證書
那么就有6個文件
分別是(文件名自定義,能記住就行)
a.com.key
a.com.pem
b.com.key
b.com.pem
c.com.key
c.com.pem
先來傳證書,目錄nginx/conf/cert
4,先來給b.com加上ssl
b.com配置文件nginx/conf/vhost/b.com.conf
這里我是照抄的wd自動生成的
只要注意修改目錄,站點域名和證書文件名,就ok了
listen 443;是https的端口443
root是站點目錄
ssl開頭的部分是設置https的
server_name 是這是域名的
- server { listen 443; root /www/web/b_com/public_html;
- ssl on;
- ssl_certificate cert/b.com.pem;
- ssl_certificate_key cert/b.com.key;
- ssl_prefer_server_ciphers on;
- ssl_session_timeout 10m;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
- server_name b.com www.b.com;
- index index.html index.php index.htm;
- error_page 400 /errpage/400.html;
- error_page 403 /errpage/403.html;
- error_page 404 /errpage/404.html;
- error_page 503 /errpage/503.html;
- location ~ \.php$ {
- proxy_pass http://127.0.0.1:88;
- include naproxy.conf;
- }
- location ~ /\.ht {
- deny all;
- }
- location / {
- try_files $uri @apache;
- }
- location @apache {
- internal;
- proxy_pass http://127.0.0.1:88;
- include naproxy.conf;
- }
- }
復制代碼
5,看著是完事了,實際上https確實可以訪問了,但是80端口沒了,所以打開肯定會出404
b.com配置文件nginx/conf/vhost/b.com.conf
再來加一個,加在最頂上,這里我也是照抄的
據我理解
listen是監(jiān)聽端口
root是定義站點目錄
server_name 是站點域名
rewrite 就是直接301跳轉到https了
后面的其實沒有意義,因為我這里刪掉后wdcp老是自動生成,我就沒動它了
- server {
- listen 80;
- root /www/web/b_com/public_html;
- server_name b.com www.b.com;
- rewrite ^(.*)$ https://$host$1 permanent;
- index index.html index.php index.htm;
- error_page 400 /errpage/400.html;
- error_page 403 /errpage/403.html;
- error_page 404 /errpage/404.html;
- error_page 503 /errpage/503.html;
- location ~ \.php$ {
- proxy_pass http://127.0.0.1:88;
- include naproxy.conf;
- }
- location ~ /\.ht {
- deny all;
- }
- location / {
- try_files $uri @apache;
- }
- location @apache {
- internal;
- proxy_pass http://127.0.0.1:88;
- include naproxy.conf;
- }
- }
復制代碼
6,現在b.com已經實現了https了,輪到a.com了
首先就是重復4和5了先給a.com加上https
7,給站點a.com幫你綁定域名c.com并單獨加上https
首先a.com配置文件nginx/conf/vhost/a.com.conf已經有2短server{}了
一段是listen80 一段是listen443
然后先是listen80里面 server_name 里面加上c.com和www.c.com
這里就已經把80端口的c.com域名綁定了
最后再加一個步驟4里面的server {listen 443……}內容完全復制即可,內容照步驟4修改
listen 443;不要動
root 站點目錄不要動
ssl開頭的部分只需修改指定證書文件的2個名稱即可
server_name 是這是域名的膝蓋成c.com和www.c.com即可
8,至此結束,重啟nginx就搞完了
9,注意:開放防火墻里面開放端口443哦 |