Linux安装Ngnix,实现反向代理,配置SSL证书,使用Https协议

目的:小程序的变态要求,必须使用https安全协议

Nginx 安装教程

系统平台:CentOS 7.x。

一、所需的环境

gcc-c++开发类库、zlib库、openssl、PCRE库

1.gcc-c++,liunx环境中的c/c++编译器

2.zlib,zlib 适用于数据压缩的函式库

3.OpenSSL是一个开放源代码的软件库包可以实现:秘钥证书管理、对称加密和非对称加密。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输

4.pcre (Perl Compatible Regular Expressions) 是一个用C语言编写的正则表达式函数库。所属apache公司下的独立模块

一次性安装三个所需的编译器和库。

有的已存在则根据自己的需求安装。-y(当安装过程提示选择全部为"yes")

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

使用命令时,根据自己下载的版本和文件夹名进行修改

Linux安装Ngnix,实现反向代理,配置SSL证书,使用Https协议_第1张图片

安装pcre

1.下载 PCRE 安装包

手动下载地址:https://sourceforge.net/projects/pcre/files/pcre/ (下载完成后上传)

cd usr/local/webservice
wget https://sourceforge.net/projects/pcre/files/pcre/8.43/pcre-8.43.tar.gz

2、解压安装包

tar zxvf pcre-8.43.tar.gz

3、进入安装包目录

cd pcre-8.43

4、编译安装 

./configure --prefix=/usr/local/webservice/pcre
make && make install

5、查看安装结果,pcre版本

pcre-config --version

安装成功

二、安装 Nginx

1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

cd /usr/local/webservice
wget http://nginx.org/download/nginx-1.6.2.tar.gz

2、解压安装包

tar zxvf nginx-1.6.2.tar.gz

3、进入安装包目录

cd nginx-1.6.2

4、编译安装 

./configure --prefix=/usr/local/webservice/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.43
make
make install

报错如下:缺少OpenSSL,安装即可 .没报错继续下一步

yum -y install openssl openssl-devel
错误:

5、查看安装结果,nginx版本

cd /usr/local/webservice/nginx
sbin/nginx -v

 

6、启动nginx

cd /usr/local/webservice/nginx
sbin/nginx

Linux安装Ngnix,实现反向代理,配置SSL证书,使用Https协议_第2张图片

域名绑定好对应的服务器ip后可通过域名访问。

修改html文件夹下的index.html 文件为项目的入口文件即可不使用端口访问网页

Nginx 其他命令

/usr/local/webservice/nginx/sbin/nginx -s reload            # 重新载入配置文件,无需重新启动
/usr/local/webservice/nginx/sbin/nginx -s reopen            # 重启 Nginx,新的配置生效
/usr/local/webservice/nginx/sbin/nginx -s stop              # 停止 Nginx

三、实现Http反向代理

打开conf/nginx.conf文件,添加配置

server {
        listen       9988;
		location / {
			proxy_pass http://127.0.0.1:8887;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
		}
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

http://test.com:9998,域名可改为服务器ip地址

四、配置SSL证书,使用Https协议

上传nginx的ssl证书到 /usr/local/webservice/nginx/ssl 文件夹

Linux安装Ngnix,实现反向代理,配置SSL证书,使用Https协议_第3张图片

打开conf/nginx.conf文件,添加配置

server {
         listen       443 ssl;
         server_name  localhost;

         ssl_certificate      /usr/local/webservice/nginx/ssl/server.pem;
         ssl_certificate_key  /usr/local/webservice/nginx/ssl/server.key;

         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;

         location / {
             root   html;
             index  index.html index.htm;
         }
     }

    server {
         listen       8443 ssl;
         server_name  localhost;
         # 公共密匙
         ssl_certificate      /usr/local/webservice/nginx/ssl/server.pem;
         # 私有密匙
         ssl_certificate_key  /usr/local/webservice/nginx/ssl/server.key;

         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;

         location / {
             # 转发代理的ip或域名
             proxy_pass http://127.0.0.1:8887;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade";
         }
     }

访问网址: https://test.com:8443

在https项目里面调用的接口必须也是https协议,http会报错

Linux安装Ngnix,实现反向代理,配置SSL证书,使用Https协议_第4张图片

五、nginx的其他设置

Linux(CentOS)下设置nginx开机自动启动(2个办法),添加为服务(第一种方法有问题)

1.开机自启

2.设置为Linux服务

3.配置文件设置

 

设为服务:设置为服务(亲测可用)

nginx编辑开机启动(/etc/init.d/nginx)(可以直接使用)

 

 

 

你可能感兴趣的:(Linux,Nginx,Linux,Nginx,SSL,反向代理)