很详细的nginx配置HTTPS,正好华为云有活动,域


闲来无事,尝试一下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,会有输出

关注一下 --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服务在运行,先关闭。

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

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

再去一下nginx的安装目录。

$ cd ./sbin
$ ./nginx -V  

下图即成功

下载证书,扔到服务器上

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

配置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;
        }
}

结果:

啊,怎么会是捏

(答案是直接ip地址进去,也大概算是个https

相关内容

    暂无相关文章