一.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的访问,效果就是不同的域名对应不同的服务。