NGINX服务器如何配置HTTPS

超文本传输协议安全(HTTPS)是HTTP的安全版本,HTTP是用于在Web浏览器和网站之间发送数据的主要协议。HTTPS被加密,以提高数据传输的安全性。当用户传输敏感数据(例如通过登录银行帐户,电子邮件服务或健康保险提供商)时,这一点尤其重要。

任何网站,尤其是那些需要登录凭据的网站,都应使用HTTPS。在现代网络浏览器(例如Chrome)中,未使用HTTPS的网站与带有HTTPS的网站的标记有所不同。在网址栏中寻找绿色的挂锁,以表示该网页是安全的。Web浏览器非常重视HTTPS。Google Chrome浏览器和其他浏览器将所有非HTTPS网站标记为不安全。

获取证书

你可以到阿里云获取赛门铁克免费证书,亦或购买安全级别高的SSL证书!

配置NGINX

在你的nginx配置目录(如: server.d|servers)下,添加如example.com.conf文件,内容配置如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
    listen 443 ssl;
    server_name example.com;

    # SSL signature.
    ssl_certificate /etc/nginx/ca/example.com/cert.pem;
    ssl_certificate_key /etc/nginx/ca/example.com/cert.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;

    # Http response body max size.
    client_max_body_size 8m;

    # Proxy application backend api service.
    location / {
        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_pass http://0.0.0.0:8859/;
    }
}

server {
    listen 80;
    server_name example.com;
    rewrite ^(.*) https://$host$1 permanent;
}

注意哦,在这个配置文件中有两个server, 主 server 是配置443端口监听服务,子 server 是配置的路由重写,意思是说,当访问 http://example.com , 子 server 会重写URL到 https://example.com

加载NGINX配置文件

你可以通过执行 sudo nginx -s reload 加载配置文件,而无需重新启动NGINX服务。

更多信息

NGINX配置其实也是相当简单的,关于NGINX的更多信息请参考NGINX官方文档进行更深入的学习。预祝学习愉快~

comments powered by Disqus