server {
listen 80;
listen [::]:80;
location / {
rewrite ^(.*)$ https://www.tsingfun.com$1 permanent;
}
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
# 域名,多个以空格分开
server_name tsingfun.com www.tsingfun.com;
# 自动加www
if ( $host = 'tsingfun.com' ) {
rewrite ^(.*)$ https://www.tsingfun.com$1 permanent;
}
# ssl证书地址
ssl_certificate /etc/nginx/ssl/www.tsingfun.com.pem; # pem文件的路径
ssl_certificate_key /etc/nginx/ssl/www.tsingfun.com.key; # key文件的路径
root /var/www/html;
index index.html index.htm;
location / {
proxy_pass http://127.0.0.1:8088;
index index.html index.htm index.jsp;
}
}
2、ssl配置:
# ssl证书地址
ssl_certificate /etc/nginx/ssl/www.tsingfun.com.pem; # pem文件的路径
ssl_certificate_key /etc/nginx/ssl/www.tsingfun.com.key; # key文件的路径
3、http自动转https配置
listen 80;
listen [::]:80;
location / {
rewrite ^(.*)$ https://www.tsingfun.com$1 permanent;
}
4、自动加www的配置
# 自动加www
if ( $host = 'tsingfun.com' ) {
rewrite ^(.*)$ https://www.tsingfun.com$1 permanent;
}
注意点:这里的 if 格式要求很严格,必须是:if <空格> (<空格> xxx <空格>) <空格> {
<空格,仅Tab不行> rewrite ...
}
5、总结
nginx在反向代理、负载均衡方面一直都是行家,而且它的配置也是相对简单易学的(Apache httpd的配置较为复杂)。
nginx -s reload # 一般配置改动,重载就行了,如果出错则保持上一份配置,安全
service nginx restart # 一般不建议重启服务,如果配置出错,则会启动失败
(End)