很详细的nginx配置HTTPS

  • 很详细的nginx配置HTTPS已关闭评论
  • 229 次浏览
  • A+
所属分类:linux技术
摘要

闲来无事,尝试一下HTTPS。正好华为云有活动,域名10块钱一年,证书免费。参考:https://www.bbsmax.com/A/B0zqr3wnJv/

闲来无事,尝试一下HTTPS。

正好华为云有活动,域名10块钱一年,证书免费。

参考:https://www.bbsmax.com/A/B0zqr3wnJv/

域名绑定&申请证书

照着说明做就行。

安装证书

这就是这篇博客的重点了。

安装nginx的ssl模块

如果还没有安装nginx的话,可以参考我之前的文章:https://www.cnblogs.com/m1pha/#/c/subject/p/16326632.html

首先去一下nginx的安装目录,我的是/usr/local/nginx

$ cd ./sbin $ ./nginx -V   

这个时候如果之前安装过nginx,会有输出

很详细的nginx配置HTTPS

关注一下 --prefix=/usr/local......module 那行输出。是我之前安装的gzip模块,复制保留这段信息。

然后找到下载nginx后解压的文件夹:

# ./home/ftp/nginx-1.17.9 $./configure --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_ssl_module $ make 

这里进行SSL模块的安装。

然后找到当前目录下的objs文件夹:里面有nginx文件。

很详细的nginx配置HTTPS

如果nginx服务在运行,先关闭。

使用这个nginx文件替换掉/usr/local/nginx/sbin(安装目录)里的nginx文件。

$ cp ./nginx /usr/local/nginx/sbin 

再去一下nginx的安装目录。

$ cd ./sbin $ ./nginx -V   

下图即成功

很详细的nginx配置HTTPS

下载证书,扔到服务器上

我下的这两个是 .crt和.key文件。

很详细的nginx配置HTTPS

配置nginx.conf

#user  nobody; worker_processes  1;   events {     worker_connections  1024; }   http {     include       mime.types;     default_type  application/octet-stream;      sendfile        on;      keepalive_timeout  65;      #gzip  on;     gzip on;     gzip_static on;     gzip_comp_level 5;     gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;         server {     	#新版nginx要这么写,老版是ssl on;         listen 443 ssl;         #域名         server_name  xxx.com; 	 		#crt文件路径 		ssl_certificate  /home/ssl/xxx.crt; 		#key文件路径 		 ssl_certificate_key /home/ssl/xxx.key;          location / {             root   html;             index  index.html index.htm;             try_files $uri $uri/ /index.html;         }          location /api/ {           proxy_pass http://127.0.0.1:8080/;                    }      }         server {             listen 80;             server_name xxx.com;             #将请求转成https             rewrite ^(.*)$ https://$host$1 permanent;         } }  

结果:

很详细的nginx配置HTTPS

啊,怎么会是捏

(直接用ip地址进去,也算是个https