1. IPFSER首页
  2. IPFS

【IPFS相关】在Ubuntu上使用反向代理和http basic auth保护IPFS节点

技术解码丨在Ubuntu上使用反向代理和http basic auth保护IPFS节点

【IPFS相关】在Ubuntu上使用反向代理和http basic auth保护IPFS节点

本文由IPFS原力区收集译制,版权所属原作者

【IPFS相关】在Ubuntu上使用反向代理和http basic auth保护IPFS节点

       我需要设置一个IPFS节点,我想分享我如何保护它,因为我找不到一个很好的指南。

首先,使用以下说明设置和安装IPFS: https://docs.ipfs.io/introduction/install/

我为Ubuntu使用了预构建的二进制文件,并将其移至/usr/local/bin。移动它之后,运行以下命令:ipfs init — profile server

Nginx的安装,然后安装Certbot使用说明这里为: https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx.html

我为ipfs创建了一个systemd init脚本,以确保它保持运行并在重启时启动,但这是可选的。如果您想要init脚本,请将下面的文本放入/lib/systemd/system/ipfs.service

  [Unit]

说明= IPFS守护程序
[服务] Type = simple User = ubuntu Environment = HOME = / home / ubuntu Restart = always ExecStart = / usr / local / bin / ipfs daemon
[Install] WantedBy = multi-user.target

如果你想启动这项服务,你可以这样做,sudo systemctl start ipfs如果你想确保它在启动时自动运行,你应该运行sudo systemctl enable ipfs

接下来,你要成立nginx的反向代理。要做到这一点,我跑sudo certbot –nginx在提示时把我的域名。这设置我的nginx配置文件在文件/etc/nginx/sites-enabled/default的顶部已经有另一个服务器{}条目,所以我删除了它,只剩下certbot创建的那个。我还有certbot创建一个条目将https重定向到https。我添加了一个位置{}条目到传入的请求传递给API IPFS暴露在localhost:5001。

我还使用HTTP基本身份验证添加了身份验证,这可以通过以下说明来完成:https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-https-basic-authentication/但我使用/etc/nginx/.htpasswd作为我的.htpasswd路径,因为我的机器上不存在/ etc / apache2因为我只有nginx。

我也想只公开/api/v0/add端点,因为这就是我现在所需要的。因此,在nginx配置文件中,允许到该端点的流量,并拒绝所有其他流量。

最终结果是这个nginx配置文件在 /etc/nginx/sites-enabled/default

server {     server_name ipfs.deco.network; #由Certbot管理
    location / api / v0 / add {         proxy_pass https:// localhost:5001 ;         proxy_set_header Host $ host;         proxy_cache_bypass $ https_upgrade;         允许全部;     }
    location / {         proxy_pass https:// localhost:5001 ;         proxy_set_header Host $ host;         proxy_cache_bypass $ https_upgrade;         否认所有;     }
    auth_basic“需要验证”;     auth_basic_user_file /etc/nginx/.htpasswd;
    听443 ssl; #由Certbot     ssl_certificate /etc/letsencrypt/live/ipfs.deco.network/fullchain.pem 管理; #由Certbot管理    ssl_certificate_key /etc/letsencrypt/live/ipfs.deco.network/privkey.pem; #由Certbot管理    包括/etc/letsencrypt/options-ssl-nginx.conf; #由Certbot     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem 管理; #由Certbot管理
}
server {     if($ host = ipfs.deco.network){         return 301 https:// $ host $ request_uri ;     由Certbot管理
    听80;     server_name ipfs.deco.network;     返回404; #由Certbot管理}

祝好运!

【IPFS相关】由IPFS原力区译制整理,收集外网中各领域人士在使用或开发IPFS及其相关应用时所分享的文章内容。

 

IPFS原力区官网:https://ipfsforce.com

IPFSER社区: https://ipfser.org

微博:https://weibo.com/ipfsforce

【IPFS相关】在Ubuntu上使用反向代理和http basic auth保护IPFS节点
点击:“阅读原文”查看英文原版

原创文章,作者:IPFSforce,如若转载,请注明出处:https://ipfser.org/2018/12/11/ipfsxianguan-3/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code