我想做什么-
我在树莓派上运行Rstudio和Shiny服务器,可通过http://“ my.public.ip”:8787和:3838端口访问。我想将通过Nginx的服务器都绑定到我的域,例如“ https://code.example.blog/rstudio”,对于闪亮服务器... / shiny-admin也是如此。 域代码.example.blog是从Wordpress购买的,指向我的公共IP。
我的引用-
我是菜鸟,我浏览了Google上的可用信息,并使用了这两个网站作为参考 — https://ttdtrang.tk/2019/04/configure-nginx-as-a-reverse-proxy-for-rstudio-server/ — https://gist.github.com/magic-lanter/1b5e11c3cf5964b69e8e7824df015c5d
我所做的-
我创建了rstudio_shiny.conf块并将其放置在此位置“ etc / nginx / conf.d / rstudio_shiny.conf”
将这些行添加到“ /etc/nginx/nginx.conf”中。http {map $ http_upgrade $ connection_upgrade {默认升级; ” close;}
正在发生什么-
此行为应更改为-
能否请您看一下下面的方框并提出解决方案,还可以建议我该配置是否允许我托管闪亮的应用程序?
我的网络-
具有开放端口80,443,22,8787,3838的静态IP
**
etc / nginx / conf.d / rstudio_shiny.conf **
server {
if ($host = code.example.blog) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 ;
listen [::]:80 ;
server_name code.example.blog;
}
server {
access_log /var/log/nginx/code.example.blog;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/code.example.blog/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/code.example.blog/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
server_name code.example.blog;
location /rstudio/ {
rewrite ^/rstudio/(.*)$ /$1 break;
proxy_pass http://MY.PUB.IP:8787;
proxy_redirect http://MY.PUB.IP:8787/ $scheme://$host/rstudio/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 20d;
}
location /shiny-admin/ {
rewrite ^/shiny-admin/(.*)$ /$1 break;
proxy_pass http://MY.PUB.IP:3838;
proxy_redirect http://MY.PUB.IP:8787/ $scheme://$http_host/shiny-admin/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 20d;
proxy_buffering off;
}
}