方法一,使用Return方式,适用于全站HTTPS
1
2
| server_name www.lidaren.com lidaren.com;
return 301 https://www.lidaren.com$request_uri; |
方法二,rewirte方式转发特定目录,适用于子目录HTTPS化
location 使用 ·/· 根目录则全站跳转
location 使用 ·/XXX目录· 子目录则跳转指定子目录
1
2
3
| location / {
rewrite ^(.*) https://www.lidaren.com$1 permanent
} |
完整参考
1
2
3
4
5
6
7
8
9
10
11
12
13
| server {
listen 80;
server_name www.lidaren.com lidaren.com;
# 方法一,使用Return方式,适用于全站HTTPS
return 301 https://www.lidaren.com$request_uri;
# 方法二,rewirte方式转发特定目录,适用于子目录HTTPS化
# location 使用/根目录则全站跳转
# location / {
# rewrite ^(.*) https://www.lidaren.com$1 permanent
# }
} |
使用源代码编译方式安装Nginx的时候,肯定不如用用yum方式安装来得便捷,CentOS的系统服务需要自行配置。
自行配置Nginx为CentOS的系统服务时,出于进程管理考虑需要首先配置pid,出于安全考虑建议修改nginx的运行用户。
创建nginx.pid文件用于nginx主进程
1
| touch /usr/local/nginx/logs/nginx.pid |
修改conf/nginx.conf,设置pid和user
1
2
| user nobody;
pid logs/nginx.pid; |
CentOS6.x配置nginx系统服务
创建一个/etc/init.d/nginx文件
1
2
| touch /etc/init.d/nginx
chmod 755 /etc/init.d/nginx |
/etc/init.d/nginx文件中写入以下内容,
源文件取自yum方式安装后的文件,不过需要自己修改一下nginx的指向位置
nginx=”/usr/local/nginx/sbin/nginx”
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
Read more…
[CentOS] JDK+tomcat集群+nginx一键安装脚本
整理了一下在CentOS下JDK+tomcat集群+nginx的安装脚本. 支持CentOS6.x/7.x
1.安装前准备
1
2
3
4
5
| # is root user
if [ "$(whoami)" != 'root' ]; then
echo "install need root user"
exit
fi |
Read more…
WordPress 默认使用apache的URL改写,一般修改.htaccess文件即可。如果使用nginx+php-fpm模式的服务器,需要自己进行重写URL。
nginx+php-fpm模式下,Yoast SEO和Google Sitemap Generator两款Sitemap插件可以使用一下配置实现Nginx对SitemapURL的重写。
Read more…
利用网页内嵌Frame来盗链和流量导入比较常见,也可以用于XSS攻击,如果中招的话,可以通过设置 X-Frame-Options到HTTP响应头来解决。解决方法只对支持X-Frame-Options的浏览器有效。
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
使用HTTP 响应头信息中的设置 X-Frame-Options属性
使用 X-Frame-Options的属性参数:
DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM:表示该页面可以在指定来源的 frame 中展示。
如果你自己不用frame也要防止别人用frame可以设置为DENY,如果你自己用frame但要防止别人用frame可以设置为SAMEORIGIN
Read more…
Nginx打开CHACHA20_POLY1305支持需要替换Nginx的OpenSSL库为BoringSSL或LibreSSL
具体实现替换方法请参考
Nginx替换OpenSSL为LibreSSL 请参考
https://www.lidaren.com/archives/1702
Nginx替换OpenSSL为BoringSSL 请参考
https://www.lidaren.com/archives/1705
修改nginx.conf让nginx支持CHACHA20加密算法即可
这里增加”EECDH+CHACHA20:EECDH+CHACHA20-draft:”
1
2
3
| ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
#BoringSSL 默认关闭SSLv3
ssl_protocols TLSv1 TLSv1.1TLSv1.2; |
Read more…
先科普
BoringSSL 是Google创建的 OpenSSL 分支,但使用BoringSSL的代码不能保证API或ABI的稳定性,所以谷歌会继续向 OpenSSL递交bug修正,继续资助Core Infrastructure Initiative和OpenBSD基金会。
谷歌使用了超过70个OpenSSL补丁,部分被接受合并到了OpenSSL主库,但大部分没有。随着Android、Chrome和其它项目开始需要这些补丁的子集,事情日益变得复杂,要保证所有补丁在不同代码库正常工作需要太多精力。所以他们决定创建OpenSSL分支。
简单总结一下BoringSSL的优缺点
优点:兼容OpenSSL,修正了许多OpenSSL的BUG,OpenSSL改不了的BUG也被BoringSSL改了。
缺点:BoringSSL只为TLS和HTTPS而生,部分OpenSSL开关默认是关闭的,其他用途的话还是建议OpenSSL。
Nginx替换OpenSSL为BoringSSL与替换为LibreSSL方法基本类似,手动编译会比较麻烦
编译之前需要进行代码的补丁修正,这里提供一个已经实现好的编译脚本供参考
github @ajhaydock
https://github.com/ajhaydock/BoringNginx
Read more…
Recent Comments