域名绑定IP及采用https方式访问教程

现有一已经备案的域名,和在家庭电脑上的flask服务的网页,希望做到通过域名及https的方式访问该网页。
准备通过nginx在云服务器上进行转发,用frp做内网穿透,访问本地网页。
流程如下:

1.买一个云服务器,例如阿里云。

这个云服务器需要有公网IP(即固定不变的IP,才能和域名绑定)。

2.将域名解析到该公网IP。

image.png

image.png

3.进入云服务器,这里采用centos7系统。安装tengine(即nginx的一个分支,具有nginx的功能)。

mkdir /usr/local/tengine:创建tengine文件夹
cd方法进入该文件夹
wget http://tengine.taobao.org/download/tengine-2.2.2.tar.gz:下载tengine
tar zxvf tengine-2.2.2.tar.gz:解压tengine-2.2.2.tar.gz到tengine文件夹下
cd tengine-2.2.2
yum install gcc openssl-devel zlib-devel -y:安装依赖文件
./configure --with-http_stub_status_module --with-http_ssl_module:编译
make && make install:安装(安装时会自动创建/usr/local/nginx文件夹)
cd nginx/sbin:进入sbin文件夹
./nginx:启动nginx
./nginx -t :测试nginx是否启
lsof -i:80 :查看80端口是否开启(yum install lsof安装lsof),下图表示正常监听

image.png

/usr/local/nginx/conf/nginx.conf或者 进入conf文件夹后sudo vi nginx.conf 打开配置文件
浏览器打开www.wingsfish.com出现tengine欢迎界面表示安装成功
在/usr/local/nginx目录中创建ssl文件夹。
注意:vultr(一种VPS代理,如果不用可忽视)有防火墙问题,需要将80端口添加让防火墙通过,否则不能访问。
防火墙部分可以参考:https://www.jianshu.com/p/6ac0a9afa080
image.png

4.获取ssl证书,方便用https访问

获取ssl证书有很多渠道,下面介绍两种:

1)Let’s Encrypt

curl https://get.acme.sh | sh:下载安装acme.sh
安装后进入/root/.acme.sh目录
./acme.sh --issue -d www.wingsfish.com --webroot /usr/local/nginx/html:生成证书(正常会有证书生成验证成功提示,证书生成在/root/.acme.sh/www.wingsfish.com目录)
进入/root/.acme.sh目录
./acme.sh --installcert -d www.wingsfish.com
--key-file /usr/local/nginx/ssl/www.wingsfish.com.key
--fullchain-file /usr/local/nginx/ssl/fullchain.cer
--reloadcmd "/usr/local/nginx/sbin/nginx -s reload"
进入/usr/local/nginx/conf/目录,编辑nginx.conf文件:

image.png

将https sever下边的配置注释解开(删除前面的#号), ssl_certificate 这里配置fullchain.cer , ssl_certificate_key这里配置www.wingsfish.com.key,这俩文件都经过上边的命令被放在/usr/local/nginx/ssl目录中,保存文件退出后,执行命令
( /usr/local/nginx/sbin/nginx -t),
image.png

,有这个显示说明配置成功,再执行命令(/usr/local/nginx/sbin/nginx -s reload)重新加载nginx配置文件后,在浏览器中输入https://www.wingsfish.com,如果出现欢迎界面表示配置成功,
image.png

加上此配置可配置强制使用https
注:如果不用https,则做如下修改进行转发:
image.png

增加这一行即可。
增加完重新加载:/usr/local/nginx/sbin/nginx -s reload

2)阿里云赛门铁克的ssl证书

image.png

image.png

image.png

image.png

image.png

在/nginx/conf/目录下创建cert文件夹
从windows向linux传输文件:
下载putty里面的PSCP.EXE文件,解压
cmd方式进入PSCP.EXE所在文件夹,执行以下指令:


image.png

进入nginx/conf打开nginx.conf文件,编辑如下:
image.png

5.frp内网穿透

云服务器上操作如下:
wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz:下载frp服务器端
tar zxvf frp_0.21.0_linux_amd64.tar.gz:解压
sudo vi frps.ini:服务器编辑frps.ini这个文件,修改如下:

image.png

bind_port是frp通信端口,vhost_http_port是frp所代理的端口,配置好保存文件退出,执行命令(./frps -c ./frps.ini)可看到启动日志。

家庭电脑去下载:https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_windows_amd64.zip,根据系统位数不同下载相应的。
本地电脑编辑frpc.ini文件:

image.png

目前的配置,server_addr是服务器地址,server_port是frp通信端口(要和服务端一致),local_port是本地服务端口(要和服务端一致),custom_domains是需要代理的服务器地址,保存文件退出,在cmd进入frp目录,执行frpc.exe,可看到启动日志:
image.png

启动正常的话可在服务端看到通信信息,打开浏览器www.wingsfinsh.com:8080能看到界面

6.nginx转发配置

服务器中打开nginx配置文件nginx.conf,

image.png

添加proxy_pass 地址指向frp代理地址,注释下边两行,保存退出后,执行
/usr/local/nginx/sbin/nginx -t 测试无误后再执行
/usr/local/nginx/sbin/nginx -s reload,浏览器打开https://www.wingsfish.com配置成功。

7.linux可能用到的命令

cd 文件夹名:进入文件夹
cd .. :返回上级文件夹
mkdir 文件夹名 :创建文件夹
ls :查看文件夹下内容
ps :查看当前进程
kill -9 进程号 :杀死进程
rm -rf 文件夹名 :删除文件夹(包含文件夹内容)
frps 后台执行:
nohup ./frps -c ./frps.ini &
fg 切换到前台
ctrl c 终止
ctrl z 切换回后台挂起(停止)
bg % 进程号 后台程序重新开始执行
mv 目标1 目录2 :将目标1移动到目录2下,如果在同一个文件夹下,则是重命名。

8.可能的问题:

flask里用0.0.0.0:8080


image.png

云服务器有的服务商会限制端口,需要手工去打开以下端口:80,22,443,7000,8080
centos防火墙需要关闭或者开放上述端口,注意centos6用的是iptable,而centos7用的是firewall

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容