我自建了一个 deno_website2 的服务终于能正常访问代码了

deno代码的网络问题大家有没有什么好方法解决 继续讨论:

站点地址 :https://deno.shenzilong.cn/

图片

我太难了 q(≧▽≦q)

搭建方式如下

nginx 配置

# deno

    server {
    server_name deno.shenzilong.cn;
    listen 80;
    listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
    #监听域名,可以是ip或者域名,server_name有三种匹配方式:精准匹配(www.domain.com)、通配符匹配(*.domain.com 、www.*)、正则表达式匹配(~^(?.+)\.domain\.com$)
    server_name _;
    ssl_certificate /root/config/ssl/4052917_deno.shenzilong.cn.pem;
    ssl_certificate_key /root/config/ssl/4052917_deno.shenzilong.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
    ssl_prefer_server_ciphers on;
    index index.html;

    location / {
        set $is_matched 0;
        if ($http_accept ~ html) {
            proxy_pass http://127.0.0.1:9002;
            set $is_matched 1;
        }
        # 没有匹配到,跳转到默认页面
        if ($is_matched = 0) {
            root /root/server/deno/;
        }
        proxy_set_header Host $host:$server_port;
        proxy_next_upstream error http_404 non_idempotent;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

https://github.com/denoland/deno_website2 拉取代码然后运行在自己的小服务器上,再利用 nginx 判断请求需要的是不是html,不是就返回 deno 项目中的 ts 代码

1 个赞

服务器在国内,依然有无法访问 github 的风险

这个服务好像服务端不会访问 github 的

网页访问时,浏览器访问 github。
Deno 访问时,服务器访问 github。

你是不是只代理了 std 标准库,没有代理第三方模块啊:joy:

我错怪你了,你是自己用 nginx 代理了 std,确实服务器没有访问 GitHub。但是。。。

$ deno run https://deno.shenzilong.cn/std@0.56.0/examples/welcome.ts
Download https://deno.shenzilong.cn/std@0.56.0/examples/welcome.ts
error: Uncaught SyntaxError: Unexpected token '<'
    at https://deno.shenzilong.cn/std@0.56.0/examples/welcome.ts:1:1

你这个服务不合格啊

哦,对,我应该代理全部的,我改一下。
这里的第三方模块指的是哪部分的?

多版本好像很难搞

第三方模块 deno.land/x