1. 購買阿里云免費(fèi)Symantec證書
申請證書審核通過后加勤,下載對應(yīng)Nginx下的.key和.pem證書
2 CentOS 7配置Nginx
先安裝依賴
[root@izuf6a4o38c6o9qcshkw40z local]# yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
Ubuntu用apt-get
和Centos用yum
安裝的nginx仙辟,安裝目錄在/etc/nginx/
下,nginx.conf
也在該目錄下鳄梅。
3 配置nginx反向代理https
進(jìn)入/etc/nginx/
叠国,將之前申請的SSL證書的兩個(gè)文件放入該目錄。修改nginx.conf
文件戴尸,添加下面的配置粟焊。(nginx.conf文件預(yù)留了443端口的監(jiān)聽配置,也可以把它的注釋去掉孙蒙,直接修改项棠。)
server {
listen 443 ssl;
server_name localhost;
ssl_certificate xxx.pem;
ssl_certificate_key xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:8080/;
}
}
xxx.pem
和xxx.key
填寫你自己的文件名。proxy_pass http://localhost:8080表示訪問代理到tomcat或者其他容器的8080端口挎峦。nginx的location用法可以自行百度或Google香追。
4. 配置mime.types,支持ipa坦胶、apk和plist直接下載
在/etc/nginx/
下找到mime.types
透典,打開編輯,添加2行以支持ipa迁央、apk程序包的下載:
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
在nginx.conf
中的http web的location配置中根據(jù)文件格式下載掷匠,添加對plist
的支持
# 設(shè)置根據(jù)文件格式下載,而不是直接在瀏覽器打開顯示
if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|plist)$){
add_header Content-Disposition: 'attachment;';
}
location
的整體配置:
location / {
root /usr/local/nginx_webs/appleSign; # 靜態(tài)頁面目錄
index index.html; # 默認(rèn)首頁
# 設(shè)置根據(jù)文件格式下載岖圈,而不是直接在瀏覽器打開顯示
if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|plist)$){
add_header Content-Disposition: 'attachment;';
}
# 用戶瀏覽器端的緩存設(shè)置
location ~* \.(css|js|jpg|jpeg|gif|png|swf|htm|html|json|xml|svg|woff|ttf|eot|map|ico|ipa|apk)$ {
expires 1h;
if (-f $request_filename) { #存在文件則直接訪問,不需要反向代理
break;
}
}
if ( !-e $request_filename) { #文件和目錄不存在钙皮,判斷為http的api請求蜂科,反向代理給tomcat server處理
#proxy_pass https://iossign.koovi.com:88/YueJianShareServer/;
}
client_max_body_size 256m;
}
然后使用./nginx -s reload
重啟nginx即可。
5. web訪問目錄授權(quán)
如果瀏覽器訪問ipa短条、plist的url提示403 forbidden
錯誤导匣,而訪問html文件正常時(shí),很可能是web目錄權(quán)限不足茸时,修改web目錄的讀寫權(quán)限贡定,或者是把nginx的啟動用戶改成目錄的所屬用戶,重啟Nginx即可解決:
1. chmod -R 777 /data
2. chmod -R 777 /data/www/