linux面板系列 配置反向代理并使用非443端口进行发布
本文最后更新于 351 天前,其中的信息可能已经有所发展或是发生改变,如有失效可到评论区留言。

前言

基本上,所有在家庭数据中心部署的应用,最后都是通过反向代理对外进行统一发布的,这个和云主机上配置反向代理的意义是一样的,唯一的一点差别就是不能用443端口进行发布。由于我是使用的宝塔linux面板来实现反向代理,所以本文就以宝塔linux面板为例来简单描述一下如何为域名www.example.com配置反向代理并启用https的步骤。


建议大家都使用https,http还是不要再用了,一方面http的确不安全,另一方面很多浏览器在访问http的时候都提示不安全,看着很糟心~~


添加站点

选择"网站"-"添加站点":

image.png

如果是有公网IP的云主机且域名已经备案,则443端口是可用的,上图的域名后面就不用带端口;如果是家庭宽带或者没有备案的云主机,则只能使用非443端口(44443只是示例,大家随意填非443和80以及其他比较敏感的的端口,端口可达即可,不过最好是好记的~),最后点击右下角的”提交“。

设置SSL证书


关于SSL证书的获取,有2种方式:
1、手动申请
在各个云供应商,只要购买了域名,就可以获得一定数量的免费的1年期证书额度(通常是20个),以下以阿里云和腾讯云为例说明申请位置。
阿里云:
申请位置在"数字证书管理服务"-"SSL证书"-"免费证书"-"创建证书":

image.png

阿里云一年有20个免费证书的额度,我已经用得只剩1个了。。
腾讯云:
申请位置在"SSL证书"-"我的证书"-"免费证书"-"申请免费证书":
image.png

写的是50个,但是腾讯域名只能用20个,和阿里云是一样的。

证书签发以后,要下载的话就下nginx的:

image.png

2、自动申请
这个主要是指的Let’s Encrypt,可以免费申请有效期3个月的证书,并可以自动续签,但是一个主域名168小时之内只能申请5次,达到以后就只能等168小时了。


站点成功创建界面如下:

image.png

在上图中点击右边红框中的”设置“,进入站点的设置界面:
image.png

点击上图左边红框中的SSL,界面如下:
image.png

如果是手动添加SSL证书,就在上图中"红框"的当前证书位置,将下载的nginx证书解压缩以后,用文本编辑器打开www.example.com.key文件,将里面的内容全部复制到上图下方左边红框的秘钥(KEY)里;用文本编辑器打开www.example.com.pem文件(其实.pem和.crt文件的内容是一样的),将里面的内容全部复制到上图下方右边红框的证书(PEM)里,然后点击下方绿色按钮"保证并启用证书"。

如果要用Let's Encrypt自动申请SSL证书,点击Let’s Encrypt标签,如下图:

image.png

推荐验证方式使用DNS验证,因为如果正确设置了DNS服务提供商的的API,例如阿里云DNS以及腾讯云DnsPod的API,Let’s Encrypt可以在证书到期前自动续期,理论上就可以永远不担心SSL证书过期了。最后点击下方的绿色按钮"申请",正常的话等一会SSL证书就自动申请下来了:
image.png

修改站点配置文件(可选)

之所以是可选,就是前面提到过的是否有备案的合法443端口,如果有,则这一步就是不需要的,如果没有,这一步就是必须的了。

在上节中设置好了SSL证书以后,配置文件的内容如下图:

image.png

如上图右边红框中的内容所示,默认宝塔面板是将SSL的监听默认放在443端口上。如果是有合法的443端口,这样当然没问题,但是如果没有,这样直接导致外部浏览器访问无法建立SSL连接,所以,这样需要将443改为你配置的端口,在本文中是44443端口,所以修改后内容如下:
image.png

只需要改动这一个地方即可,然后点击下方的绿色按钮"保存"。

设置反向代理

终于进入本文的正题设置反向代理了。。前面都只是铺垫而已~。

image.png

点击上图左边红框中的反向代理,出现如下界面:
image.png

点击上图红框中的"添加反向代理",出现如下界面:
image.png

假如内网应用的IP为192.168.1.100,端口为8000,则正确的配置如下:
image.png

"目标URL"没什么好说的,这里提一下发送域名和内容替换。

发送域名默认值$host一般情况下可以不用动,这表示把你浏览器访问的域名,本文中是www.example.com传递给目标URL对应的应用,很多应用并不关注这个。不过有一些特殊应用,比如用minio搭建cos(参见文章:docker系列 搭建基于minio的私人COS平台),它部署的docker只认host 127.0.0.1(很无语),所以对于minio,发送域名就不能用默认值,以下是我的配置:

image.png

还有一些其他应用,比如wordpress,nextcloud,都是直接要在应用内部写死访问域名的,这些可能就会需要修改发送域名。

内容替换,这个在一些特殊场合比较有用处,比如一些软件的免费版页面上有很多pro之类的字样,可以直接用内容替换将pro替换为空白或者其他字样,这个大家有兴趣可以尝试一下。

另:本文主要是描述使用宝塔linux面板搭建反向代理的具体操作步骤,没有涉及太多反向代理理论方面的阐述,如果要进一步了解方向代理的作用及工作方式,可以参加我的另外两篇文章:家庭数据中心系列 应用发布之反向代理篇(上)家庭数据中心系列 应用发布之反向代理篇(下)

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       

本站已禁用鼠标右键和各种快捷键,代码块内容可以直接在右上角点击复制按钮进行复制

zh_CN