1.首先要去服務器上面申請證書,申請證書步驟我就不多說了,必須有域名才能申請哦,我這裏使用的是騰訊雲服務器,下載證書
2.解壓之後,找到nginx
3.進入nginx配置文件目錄,我安裝的nginx是/usr/local/nginx下,把剛剛的nginx證書放入
4.配置nginx.conf文件,我這裏使用了重定向,配置簡單的可以不使用
server {
listen 443;
server_name hotel.gzjojo.com; #填寫綁定證書的域名
ssl on; #啓用 SSL 功能
ssl_certificate /usr/local/nginx/conf/1_hotel.gzjojo.com_bundle.crt; #證書文件名稱
ssl_certificate_key /usr/local/nginx/conf/2_hotel.gzjojo.com.key; #私鑰文件名稱
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請按照這個協議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #請按照這個套件配置,配置加密套件,寫法遵循 openssl 標準。
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_connect_timeout 20;
proxy_read_timeout 20;
proxy_send_timeout 20;
proxy_pass https://jojo_hotel_server;
}
location /hotel/img_server/ {
alias /data/yby-img-file/;#指定圖片存放路徑
}
location /hotel/html/ {
alias /root/yby-html-file/;#指定HTM存放路徑
#nginx跨域請求配置
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If- Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}
server{
listen 80;#監聽18081端口,可以改成其他端口
server_name hotel.gzjojo.com;#當前服務的域名
rewrite ^(.*) https://$server_name$1 permanent;
}
5.配置成功之後測試nginx.conf是否成功 /usr/local/nginx/sbin/nginx -t
6.啓動nginx就Ok了
如果 /usr/local/nginx/sbin/nginx -t這一步報錯,說沒有ssl
nginx: [emerg] unknown directive "ssl"
只有重新安裝nginx,安裝教程按這個來就不會錯誤了
教程:https://www.runoob.com/linux/nginx-install-setup.html