找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 68|回复: 8

个人网站部署策略(二)

[复制链接]

160

主题

1926

回帖

4420

积分

论坛元老

积分
4420
发表于 2017-12-21 15:36:31 | 显示全部楼层 |阅读模式
原文链接: http://gaoit.de/a/3

实际上https并不是必须的,针对这个我单独吐过槽 http://gaoit.de/a/1 , 但这里也顺便写一下它的部署吧。
(请别忘了将下文的mjj.party替换成你自己的网站域名)

接上一篇的 http://www.hostloc.com/thread-415706-1-1.html ,反代网站建好以后,继续输入命令:
curl https://get.acme.sh | sh
(如果这一步出错那么先apt-get install -y curl)
然后source ~/.bashrc 就装好了acme,我们用它来签发证书

建一个临时的网站目录 mkdir -p /www/mjj.party
编辑我们的反代网站配置文件:
vi /etc/nginx/sites-enabled/mjj.party
进入编辑器后光标移动到access_log off这行,按o,在这行下面粘贴插入以下内容:
        location /.well-known {
            alias /www/mjj.party/.well-known;
        }
然后esc、输入:wq回车(保存退出)

重启nginx使修改生效 service nginx restart

签发证书
acme.sh --issue -d mjj.party -d www.mjj.party -w /www/mjj.party
看到success字样就是成功了
再建个目录 mkdir /www/ssl
安装证书
acme.sh --installcert -d mjj.party -d www.mjj.party --keypath /www/ssl/mjj.party.key --fullchainpath /www/ssl/mjj.party.key.pem --reloadcmd "service nginx reload"

然后 openssl dhparam -out /www/ssl/dhparam.pem 2048
(如果机器配置低,这一步可能执行时间有些久,耐心等候)

再次修改网站配置文件 vi /etc/nginx/sites-enabled/mjj.party
进入编辑器后光标移动到 listen 80; 这行,按o,在下面一行粘贴插入
        listen 443;
按esc,光标再移动到最后一个}的上一行按o(就是在server这个大括号里添加内容)
粘贴入以下
        ssl on;
        ssl_certificate /www/ssl/mjj.party.key.pem;
        ssl_certificate_key /www/ssl/mjj.party.key;
        ssl_dhparam /www/ssl/dhparam.pem;
        #add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
如果想hsts强制开启https那么就去掉最后那个注释符#,不过我非常不建议这样做

按esc 输入:wq回车保存退出
service nginx restart
结束

可以顺便检查下crontab里是否已成功添加了定期重签任务:
crontab -l
看到有acme的就对了
回复

使用道具 举报

8

主题

108

回帖

290

积分

中级会员

积分
290
发表于 2017-12-21 15:38:28 | 显示全部楼层


回复

使用道具 举报

160

主题

1926

回帖

4420

积分

论坛元老

积分
4420
 楼主| 发表于 2017-12-21 15:39:23 | 显示全部楼层

adu 发表于 2017-12-21 15:38

感谢分享
步骤很详细
但感觉好麻烦

我觉得还好吧,就是顺便给小白朋友们说明了每句命令的作用。所以文字比较多
实际上就那几步 操作下来不费多少时间
回复

使用道具 举报

127

主题

1万

回帖

2万

积分

论坛元老

积分
22891
发表于 2017-12-21 15:40:42 | 显示全部楼层


  这个就光看看了  楼主的教程1已经收藏了
回复

使用道具 举报

69

主题

721

回帖

1711

积分

金牌会员

积分
1711
发表于 2017-12-21 15:38:00 | 显示全部楼层
要是反代 https呢 应该怎么弄 比如1.com 反带百度
回复

使用道具 举报

160

主题

1926

回帖

4420

积分

论坛元老

积分
4420
 楼主| 发表于 2017-12-21 15:40:58 | 显示全部楼层

maiawpyg 发表于 2017-12-21 15:56

要是反代 https呢 应该怎么弄 比如1.com 反带百度

应该只要把proxy_pass 后边参数改成https就行了吧。。。
这个我自己没试过不很确定
回复

使用道具 举报

69

主题

721

回帖

1711

积分

金牌会员

积分
1711
发表于 2017-12-21 15:52:47 | 显示全部楼层

orlog 发表于 2017-12-21 16:01

应该只要把proxy_pass 后边参数改成https就行了吧。。。
这个我自己没试过不很确定
...

还有SSL证书呢 不知道啥位置
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2017-12-21 15:56:03 | 显示全部楼层

maiawpyg 发表于 2017-12-21 16:34

还有SSL证书呢 不知道啥位置

额 我们中有个人理解错了?反代源网站应该是不需要证书的
你可能是要在反代服务器端上https吧https://1.com 反带 https:://2.com
回复

使用道具 举报

69

主题

721

回帖

1711

积分

金牌会员

积分
1711
发表于 2017-12-21 16:01:43 | 显示全部楼层
本帖最后由 maiawpyg 于 2017-12-21 16:45 编辑

server
{
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /usr/local/nginx/conf/证书.crt;
ssl_certificate_key /usr/local/nginx/conf/证书.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server_name www.1.com;
add_header Strict-Transport-Security “max-age=31536000”;

if ( $scheme = http ){
return 301 https://$server_name$request_uri;
}

if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}

location / {
sub_filter 2.com 1.com;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer https://2.com;
proxy_set_header Host www.2.com;
proxy_pass https://2.com;
proxy_set_header Accept-Encoding “”;
}
}


解决了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-5-11 05:24 , Processed in 0.029788 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表