Nginx系列之使用ssl模块配置支持代理HTTPS链接

Nginx系列之使用ssl模块配置支持HTTPS访问

1、博客前言介绍

最近在用nginx代理https的第三方链接,因为不是做运维,所以对nginx并不是特殊熟悉,所以到处询问摸索了挺久

2、查看ssl_module

要使用nginx代理https的链接,先用检查nginx是否已经有安装了ssl module,如图使用命令:
cd /usr/local/nginx/sbin && ./nginx -V
在这里插入图片描述

3、安装openssl和openssl-devel

如果nginx没安装openssl,可以使用yum命令进行安装

yum -y install openssl openssl-devel

检查openssl是否安装成功

openssl version -a

4、创建服务器私钥

使用命令,回车之后,会让你输入密钥,reload nginx配置时候都要你验证这个PAM密码

openssl genrsa -des3 -out server.key 1024 

5、创建签名请求的证书

创建签名请求的证书(CSR),用于颁发公钥

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

6、配置nginx reload不需要密码

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key   

7、标记证书使用上述私钥和CSR

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

8、修改nginx配置,支持SSL

server {
        listen       80;
	    listen 		 443 ssl;
        server_name  localhost;
  
        #access_log  logs/host.access.log  main;
		# 开启ssl
		# ssl                  on;
		#证书位置
        ssl_certificate      /usr/local/nginx/server.crt;
		#私钥位置
        ssl_certificate_key  /usr/local/nginx/server.key;
        ssl_session_timeout  5m;
		#指定密码为openssl支持的格式
        ssl_protocols  SSLv2 SSLv3 TLSv1;
		#密码加密方式
        ssl_ciphers  HIGH:!aNULL:xues!MD5;
		#依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
        ssl_prefer_server_ciphers   on;
        
		// ... 省略
}

注意点:

  • 要listen 443端口,https的端口是443,listen 443 ssl;
  • 要同时支持http和https链接代理,要注释ssl on;
  • ssl_certificatessl_certificate_key,这两个参数需要根据证书位置配置

配置location代理转发:

location /portal{ 
          proxy_pass  https://127.0.0.1:8888/portal;  
           proxy_set_header        Host $host;
           proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
           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;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
           proxy_redirect          off;  
     }
smileNicky CSDN认证博客专家 分布式 Java Spring
java程序员,软件工程专业,专注于sql调优,SpringBoot,spring框架学习,个人邮箱nickypm@foxmail.com,公众号nickymp
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值