nginx搭建https服务

nginx搭建https服务,转发到http后端服务

花了差不多5个小时用golang做了一个短域名服务+简单的微信小程序,在发布的时候需要用过https协议的服务,遂出此文

gin发布https

因为是第一次用gin发布一个真实的环境,很多东西也不是很熟,所以只能百度,当时找到gin中间件把端口转换为https协议这篇文章,看了一下,很简单,就尝试着cv实现以下。由于的采用了gin在github提到的Graceful restart or stop功能,简单cv没有实现,就想了一个便捷的方式(毕竟菜嘛)–采用nginx代理一层。

采用nginx部署https

安装步骤

1
2
3
4
5
6
7
8
9
10
11
12
# 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
# 下载nginx
wget http://nginx.org/download/nginx-1.17.4.tar.gz
# 解压文件
tar -zxvf nginx-1.17.4.tar.gz
# 进入nginx源码目录
cd nginx-1.17.4
# 配置https模块
./configure --prefix=/root/nginx --with-http_stub_status_module --with-http_ssl_module
# 编译并安装
make && make install

如果上面的步骤没有异常,那么久算安装成功了,下面就开始配置https代理。

1、先把申请下来的证书复制到nginx目录下,我是新建了一个cert的文件目录,

2、修改nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
listen 443 ssl;
server_name domain;
ssl_certificate /root/nginx/cert/1_domain_bundle.crt; #证书公钥
ssl_certificate_key /root/nginx/cert/2_domain.key; #证书私钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://0.0.0.0:80;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
#proxy_cookie_path
chunked_transfer_encoding off;
}
}

3、进入到nginx目录执行sbin/nginx执行二进制文件启动nginx服务,如果修改了conf配置文件,则执行sbin/nginx -s reload 刷新配置。

至此,nginx服务便搭建好了。在微信小程序开发设置里面配置好https的域名地址,就可以愉快的玩耍了。

#
You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×