最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • nginx+ssh实现内网穿透

    正文概述 掘金(libigunderstand)   2020-12-21   471

    nginx+ssh实现内网穿透

    在本地搭建的项目只能通过本地的server在本地的电脑上运行,那么怎么通过云服务器的ip端口让外界来访问呢。

    需要准备的环境:

    1.自己本地运行起来的项目(这里以vue项目为例:http://localhost:8082)

    2.一台云服务器,阿里云,腾讯云等等。

    3.云服务器上安装过nginx,如果nginx未安装,请自行百度安装一下,安装过程还是相对简单的。

    4.域名(可以没有)

    一、首先登录云服务器

    ssh user@ip (user为云服务器用户名,ip为云服务公网ip)。

    输入密码进入服务器目录。

    二、进入到nginx的安装目录,我的nginx安装在了/usr/local/nginx目录下

    cd /usr/local/nginx

    执行命令ls查看nginx的目录,会有一个conf文件夹,cd conf进入到文件夹,执行ls查看文件夹目录。nginx.conf为nginx的默认配置文件。

    三、我们在conf文件夹下执行命令mkdir defaultconf来创建一个defaultconf文件夹,此文件夹用来存放我们额外的nginx配置。cd defaultconf进入到这个文件夹。执行命令touch cross.conf,来创建我们自己的nginx配置文件。执行命令vi cross.conf,进入到文件的编译模式。按下键盘i键进入编辑模式,然后将下面代码贴入进去

    server {
      listen 8888; #这里监听的为后续访问的云服务器端口,可以设置为任意一个服务器上还不存在的端口号
      server_name xx.xx.cn; # 这里填你的域名,如果没有域名则填localhost
      
      location / {
        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_redirect off;
        
        proxy_pass http://localhost:8899; 
        # 这里的8899相当于一个标识,和后面在本地创建通道相关,可以任意设置一个值
      }
    }
    

    到这里,按下键盘esc退出编辑模式,然后再输入:wq退出文件查看模式。

    接下来 我们需要重启一下nginx,cd /usr/local/nginx/sbin,

    执行./nginx -s reload。./nginx -t查看nginx启动状态。

    接下来回到本地,在本地终端输入命令ssh -vnNt -R 8899:localhost:8082 user@ip

    8899为我们nginx配置的标识,localhost:8082为我们本地项目的访问地址,user为云服务器用户名,ip为云服务器公网地址。回车输入云服务器登录密码就好了。最后几行为下面这样代表成功。

    debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
    debug1: remote forward success for: listen 8899, connect localhost:8082
    debug1: All remote forwarding requests processed
    

    四、接下来我们可以打开本地浏览器,输入自己的云服务器公网ip(如果有域名也可通过域名来访问)和端口来进行访问,例如http://xx.xx.xx.xx:8888。

    如果出现Invalid Host header这样的字样,不要慌,是因为vue项目devserver导致的,我们只需要在devserver里面加一个disableHostCheck: true属性即可。

    注意

    1.nginx的配置和安装目录可能会因为服务器环境和nginx的版本导致存在部分差异,但都大同小异,慢慢来,先确定nginx环境正常,再检查配置的穿透配置是否正确。

    2.如果各个运行环境正常,第一次访问如果浏览器一直转圈的话,不要着急,耐心等一下。


    起源地下载网 » nginx+ssh实现内网穿透

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元