泣血上书!nginx在centos7系统上通过https代理多个地址

一.openssl生成证书

新建路径/home/ssl并进入该路径下

1.生成私钥

openssl genrsa -out server.key 1024

2.申请csr

openssl req -new -key server.key -out server.csr

这里一路回车就行

3.使用私钥对证书签名

openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

二.安装nginx

1.安装依赖

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

2.nginx配置安装

https://nginx.org/en/download.html

本次使用的版本是https://nginx.org/download/nginx-1.20.1.tar.gz

下载:

wget https://nginx.org/download/nginx-1.20.1.tar.gz

解压:

tar -zxvf nginx-1.20.1.tar.gz

3.进入解压后的文件夹,编译

./configure --with-http_stub_status_module --with-http_ssl_module
make 
make install

4.配置

安装成功之后nginx的配置文件在/usr/local/nginx/conf下

进入并打开nginx.conf文件

将其中的server{

             listen  80;

            ......

           }

注释掉,如下

新添加两个server来监听两个不同的服务,如下:

    server {
        listen       443 ssl;
        server_name  test1.zc.com;

        ssl_certificate      /home/ssl/server.crt;
        ssl_certificate_key  /home/ssl/server.key;

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

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

        location / {
            proxy_pass http://192.168.0.170:20105;
            index  index.html index.htm;
        }
    }

    server {
        listen       443 ssl;
        server_name  test2.zc.com;

        ssl_certificate      /home/ssl/server.crt;
        ssl_certificate_key  /home/ssl/server.key;

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

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

        location / {
            proxy_pass http://192.168.0.170:20106;
            index  index.html index.htm;
        }
    }

这里的server_name需要是不同的,ssl_certificate和ssl_certificate_key指定证书的路径,proxy_pass指定要访问的地址。

5.启动

nginx的启动命令默认在/usr/local/nginx/sbin下,进入之后执行./nginx即可启动。

如果启动的时候有修改配置文件,需要重新加载,停止,启动,命令如下:

./nginx -s reload
./nginx -s stop
./nginx 

三.本地配置域名

打开电脑的hosts文件,win在C:\Windows\System32\drivers\etc下

将上一步中的server_name两个不同的域名添加到文件中,如下:

这里添加的ip地址就是nginx所在服务器的ip地址,两个ip是一样的,但后面的域名不一样!!!

四.重启电脑并访问

重启电脑是为了是更改hosts文件生效,否则无法通过域名访问

通过https访问的时候可能会出现以下情况,电脑继续前往就行了:

此时就配置好了https的访问,效果就是不同的域名对应不同的服务。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值