Image for post
Image for post

好比我利用家庭公网搭建了一个小网站,设置了解析和端口,现在的地址是 site.name.com:8086,毕竟家宽肯定 443 和 80 是不能用的。那我现在想通过一个公网机器,并且这个机器是开放 443 端口的,来反代家宽上的网站,以达到去掉端口后缀的效果,就要用到 proxy_pass 这个功能。目标就是通过 web.name.com 就能直接访问到 site.name.com:8086 上的内容。

机器环境是 Ubuntu 18.04.1 LTS

  1. 首先更新软件包列表

sudo apt-get update

2. 安装 Nginx

sudo apt-get install nginx

3. 添加 vhost,虽然就一个站点,但我还是习惯添加 vhost 单独给写出来

4. 创建站点文件夹

sudo mkdir -p /var/www/<任意名称>

下文中我使用 /var/www/web.name.com 这个路径为例

5. 使用 vim 编辑器编辑 /etc/nginx/nginx.conf

sudo vim /etc/nginx/nginx.conf

6. 按下 i 键进行编辑

在 http{} 里添加一行(这个一般都有)

include /etc/nginx/conf.d/*.conf;

7. 按下 Esc,并输入 :wq 回车保存并退出

8. 在上述文件夹中添加配置文件,直接 vim 就可以新建一个文件并开始编辑

sudo vim /etc/nginx/conf.d/web.name.com.conf

配置文件如下

9. 你需要把你的证书命名为 web.name.com 然后放到 /etc/nginx/ssl 目录下

10. 重启 nginx 服务

nginx -s reload

然后就能通过访问 https://web.name.com 访问到 https://site.name.com:8086 的内容了

Written by

最后的栖息地

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store