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

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

安装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

域名绑定好对应的服务器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 文件夹

打开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会报错

五、nginx的其他设置

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

1.开机自启

2.设置为Linux服务

3.配置文件设置

 

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

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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在生产环境中,通常会使用Nginx作为反向代理服务器,并将请求转发给后端的多个Tomcat服务器,以实现负载均衡的目的。首先,我们需要进入Nginx配置文件夹,并打开nginx.conf文件进行配置。 在nginx.conf文件中,我们可以添加以下代码实现反向代理配置: ``` upstream tomcats { server 127.0.0.1:9001; server 127.0.0.1:9002; } server { listen 80; server_name xxx.xxx.xxx.xxx.109; location / { proxy_pass_header Server; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://tomcats; } } ``` 这段代码中,我们首先定义了一个名为`tomcats`的upstream,其中列出了后端Tomcat服务器的地址和端口。然后,在server块中,我们监听80端口并设置了服务器的名称。在location块中,我们将请求转发给名为`tomcats`的upstream。 此外,我们还可以为每个设备设置状态值,例如: - `down`:表示该服务器暂时不参与负载。 - `weight`:表示服务器的负载权重,默认为1,权重越大,负载越重。 - `max_fails`:允许请求失败的最大次数,默认为1,超过次数后返回定义的错误。 - `fail_timeout`:在`max_fails`次失败后,暂停服务的时间。 - `backup`:当其他非备用服务器处于故障或繁忙状态时,请求会被转发至备用服务器,以减轻其负载。 例如,下面是一个具体的示例: ``` upstream tomcats { server 127.0.0.1:9001 down; server 127.0.0.1:9002 backup; server 127.0.0.1:9003 weight=2; server 127.0.0.1:9004 max_fails=2 fail_timeout=60s; } ``` 另外,还可以通过对请求的URL进行哈希来实现负载均衡。在模板中,我们可以使用以下配置: ``` upstream tomcats { server ip:8080; } server { listen 80; server_name www.lianggzone.com; location / { proxy_pass http://tomcats; # Proxy Settings proxy_redirect off; 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } ``` 在这个配置中,我们将请求的URL进行哈希,并将其转发给名为`tomcats`的upstream。 总结起来,Nginx反向代理配置主要通过配置upstream块和server块实现。在upstream块中定义后端服务器的地址和配置状态值,而在server块中设置监听的端口和服务器名称,并通过location块将请求转发给upstream。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Nginx反向代理配置](https://blog.csdn.net/weixin_42751488/article/details/124165105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值