In reality you probably don’t want to host you websites on your local computer unless you have a very good computer, a very good internet connection and you are an expert system administrator, but this is very useful to learn how the internet works.

In this case I am doing this because I want to be able to develop on my computer no matter where I am. So I want to be able to SSH to my machine, modify my files and view my changes from a web browser. Here are the things that need to be done:

  • Setup a local HTTP server
  • Allow inbound traffic on port 80
  • Setup a free DNS service
  • Setup an SSH server
  • Forward requests to port 22 on your router to your computer

Set up a local HTTP server

I already wrote an article explaining how to do this: Creating local virtual hosts with Apache

Allow inbound traffic on port 80

To make your HTTP server available from the Internet you have to configure your router to send all incoming traffic on port 80 to your computer. The way to do this varies depending you router and ISP, but the steps are very similar most of the time:

  • Go to your router configuration page on a web browser. A lot of times it is http://192.168.1.254/ or http://192.168.1.1/
  • Go to firewall or DMZ setting
  • There will probably be a section that says something similar to: “Allow device application traffic to pass through firewal” Then:
    • Choose your computer
    • Forward external TCP traffic on port 80 (If you are asked for a range choose 80 to 80) to port 80
    • Save

To test that everything went well you can search for “my ip” on Google and it will give you your public IP address. You can give this IP address to anyone and they will see you local server.

Set up free DNS service

Since most internet providers give their customers a dynamic IP address it is not efficient to access your computer that using that number, since it may change at any time. Luckily there are some free services that allow to overcome this issue.

I found https://www.changeip.com/ did the job for me. You just have to click on “Free DNS” and they will let you choose a free subdomain. Then you just have to register and they will automatically detect your public IP. Now anyone can access your local server using that subdomain.

Set up an SSH server

An SSH server makes your computer available via a terminal to other computers using an SSH client. You can install an SSH server on Ubuntu with this command:

1
sudo apt-get install openssh-server

Once the server is installed you can test it by trying to connect to it.

1
ssh yourname@127.0.0.1

When prompted for a password enter your login password.

Forward requests to port 22 on your router to your computer

You can follow the same procedure you used for port 80, just change it port 22. Now you can ssh to your machine using the subdomain you choose for your server.

Making your local server accessible from anywhere的更多相关文章

  1. 分布式TensorFlow集群local server使用详解

    通过local server理解分布式TensorFlow集群的应用与实现. ​​简介 TensorFlow从0.8版本开始,支持分布式集群,并且自带了local server方便测试. Local ...

  2. ArcGIS for Server新建站点异常,Failed to create the site.Failed to configure the server machine'XXXX',Server machine'XXXX' is not a local server machine.

      系统环境:操作系统Win7 64位,装在虚拟机VM中,ArcGIS for Server 10.2.1 问题描述:ArcGIS for Server 10.2.1安装并授权完成后,站点初始化时显示 ...

  3. Golang : Forwarding a local port to a remote server example

    原文:https://socketloop.com/tutorials/golang-forwarding-a-local-port-to-a-remote-server-example 端口转发, ...

  4. SQL Server 常用内置函数(built-in)持续整理

    本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...

  5. Distributed3:SQL Server 创建分布式数据库

    分布式数据库的优势是将IO分散在不同的Physical Disk上,每次查询都由多台Server的CPU,I/O共同负载,通过各节点并行处理数据来提高性能,劣势是消耗大量的网络带宽资源,管理难度大.在 ...

  6. Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)解决

    环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...

  7. Runtime Error---Description: An application error occurred on the server....

    [原]Runtime Error---Description: An application error occurred on the server.... 2010-1-7阅读2010 评论3 D ...

  8. 如何使官方提供的AppRTCDemo 运行在自己搭建的server(官方提供的apprtc)上(官方的server源码)

    原文转自 http://stackoverflow.com/questions/21085261/apprtcdemo-with-local-server-works-between-browsers ...

  9. Virgo Tomcat Server 指南-Hello World

    Eclipse发布了最新的Virgo Tomccat Server.VTS是一个应用服务器与OSGi紧密结合并且可以开发bundles形式的Spring web apps应用,他们同样拥有OSGi和S ...

随机推荐

  1. 在win7下配置java编译环境变量

    今天刚接触java编程,环境的配置方法比较复杂.好记性不如烂笔头,发个文章记录一下吧. win7系统 Jdk版本1.6 用鼠标右击“我的电脑”->属性->高级->环境变量系统变量-& ...

  2. 使用WDS安装Windows8.1

    WDS的部署 安装角色 配置 1. 选择配置服务器 2. 核对是否满足要求 3. 输入远程安装文件夹的路径 4. 选择是否使用自带的DHCP服务器 5. 可以保持默认 6. 完成配置后添加映像文件 7 ...

  3. Swift中的注释以及表达式

    Swift程序有两类注释:单行注释(//)和多行注释(/*...*/).注释方法与C.C++和Objective-C语言都是类似的,下面详细介绍一下.1. 单行注释单行注释可以注释整行或者一行中的一部 ...

  4. asp.net 文件操作小例子(创建文件夹,读,写,删)

      静态生成要在虚拟目录下创建文件夹 来保存生成的页面 那么就要对文件进行操作 一.创建文件夹 using System.IO; string name = "aa"; strin ...

  5. Linux 锁

    问题: 1.假如对某个文件加了锁/lock,但是程序退出时没有关闭锁,如果想在另外一个程序中用这个文件,如何办? 2.

  6. 基数排序(RadixSort)

    1 基数排序的特点是研究多个关键字key,且多个key之间有权重之分,    或者可把单个key建模为含有多个key的排序 而计数排序.桶排序始终只有个一个key,或者说围绕着一个比较规则 Ex:比较 ...

  7. Poj 2586 / OpenJudge 2586 Y2K Accounting Bug

    1.Link: http://poj.org/problem?id=2586 2.Content: Y2K Accounting Bug Time Limit: 1000MS   Memory Lim ...

  8. java 枚举 类 enum

    public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializab ...

  9. 链接中 href='#' 和 href='###' 的区别以及优缺点

    首先,<a> 标签 + onclick='{jscode}' 是很常用的一种 js 运用方式,而不使用 href='javascript:{jscode}' 是为了兼容多种浏览器对 < ...

  10. python学习之jquery小练习

    <html> <head> <title>html/css/js学习小结</title> <script src="jquery-1.8 ...