Shiny 工程化实践之HTTPS加密(三)

一、什么是HTTPS

HTTPS 和 HTTP 的区别:

HTTPS = HTTP + SSL,也就是HTTP加密的加强版。由于HTTP协议在经过路由器会被其他人劫持,由此会导致数据泄露、篡改,一般金融电商等涉及交易的网站都应该有https加密。

二、怎么配置HTTPS

  1. nginx 安装与配置(见下文)

  2. ssl证书:可以自行生成,或者由安全部门提供

三、实战

步骤一:安装 nginx

sudo apt-get install nginx

步骤二: 编辑nginx配置文件

sudo vim /etc/nginx/sites-available/default

下面是相应的配置文件

upstream shiny-server{
server 127.0.0.1:3838;
}# 反向代理shiny 或者你自己的服务器端口
server {
listen 443 ssl; # 通过443绑定ssl
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
ssl_session_cache shared:SSL:1m; # 从管理员提供的加密方法与配置
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl on;
ssl_certificate /home/financer/.ssh/_.financer.crt; # 从管理员提供的证书
ssl_certificate_key /home/financer/.ssh/_.financer.key;
# Make site accessible from http://localhost/
#server_name localhost;
server_name 192.168.1.1;# 填写本机IP
access_log /var/log/nginx/shiny-server;
# proxy
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
"/etc/nginx/sites-available/default" [readonly] 141L, 3364C 1,1 Top
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# proxy address
proxy_pass http://shiny-server;
proxy_redirect off;
}

步骤三:激活配置

然后再重启nginx来激活配置

sudo service nginx restart

步骤四:检验结果

访问 https://localhost 将会看到 shiny 的默认页面。

clipboard.png

参考文献

你可能感兴趣的:(r,shiny)