Nginx配置Https+反向代理

一、Nginx配置Https

1.1 Nginx的ssl模块安装

进入到你的nginx安装目录下面,注意是安装目录,不是解压的目录 ,进入到目录的sbin目录下,输入

#注意这里是大写,小写只是显示版本号
./nginx -V

如果出现
(configure arguments: --prefix=********* --with-http_ssl_module),则已安装可以不用安装ssl模块

1.1.1 开始安装

进入nginx的解压目录/**/**/nginx,进入目录后会看到configure

在这里插入图片描述
进入目录后输入**(注意)/**/**/nginx是安装目录**

./configure --prefix=/**/**/nginx --with-http_stub_status_module --with-http_ssl_module

然后再执行

make
#切记不要执行make install,否则会重新安装nginx

这时会在1.1.1步中的configure的平级目录下会出现一个objs的文件夹
在这里插入图片描述

1.1.2接下来使用objs文件夹中的nginx文件替换原来的nginx

注意这里替换的时候最好先将之前的文件备份下来,停掉nginx

cp /新的nginx文件路径/nginx/objs/nginx /旧的nginx文件路径/nginx/sbin

成功之后,进入到nginx安装目录下,查看ssl是否成功

#注意这里是大写,小写只是显示版本号
./nginx -V
#可以看到这里出现了configure arguments: --with-http_ssl_module   证明已经安装成功

1.1.3 修改nginx文件的权限

chmod 111 nginx

1.2配置ssl证书

1.2.1 下载ssl证书

下载证书后会两个文件一个后缀是.key和.pem把这两个文件上传到服务器(没有证书就到腾讯云或阿里云等等的网站申请)

1.2.2 配置证书

进入nginx安装目录下的conf文件夹,在文件夹下面会有一个nginx.conf配置文件,进入修改nginx.conf文件

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       443;
        server_name  你的域名;
        ssl on;
        #ssl证书的pem文件路径
        ssl_certificate  /**/**/******.pem;
        #ssl证书的key文件路径
        ssl_certificate_key  /**/**/*****.key;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
    server{
        listen 80;
        server_name  你的域名;
        #将请求转成https
        rewrite ^(.*)$ https://$host$1 permanent;
    }
}

最后只需要启动nginx即可

二、nginx反向代理

再次进入nginx.conf配置文件在第一个server里面加上

        location ^~/test/{
            proxy_pass https://你的域名:你的需要代理的端口/;
        }

加上之后如果访问前端直接https://你的域名就可以,如果访问后端就https://你的域名/test就会访问后端项目
(注意)例如https://你的域名/test/aa 这里是等于https://你的域名:你的需要代理的端口/aa

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐