nginx

nginx

nginx 做域名绑定

nginx server_name nginx学习(十)——nginx的配置系统6之server_name - CSDN博客 Nginx中的默认主机及location设置(摘自淘宝) - CSDN博客

nginx 配置ssl https请求

Nginx启动SSL功能,并进行功能优化,你看这个就足够了 FreeSSL - 一个申请免费HTTPS证书的网站 Nginx+Https配置 - 倚楼听风雨 - SegmentFault 思否 官方-配置HTTPS服务器

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name *.rizon.top;
ssl on;
root html;
index index.html index.htm;
ssl_certificate /etc/nginx/cert/certificate.pem;
ssl_certificate_key /etc/nginx/cert/certificate.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /home/website;
index index.html index.htm;
}
}

nginx 配置301跳转

Nginx环境强制http 301跳转https设置记录

```conf /etc/nginx/nginx.conf server_name example.com; return 301 https://$host$request_uri;

## nginx 反向代理
[nginx配置url重定向-反向代理-大風-51CTO博客](http://blog.51cto.com/lansgg/1575274)
/etc/nginx/nginx.conf
```conf /etc/nginx/nginx.conf
server {
listen 80 default_server;
server_name www.lansgg.com lansgg.com;
access_log logs/lansgg.access.log main;
error_log logs/lansgg.error.log;
root /opt/nginx/nginx/html/lansgg;
location / {
index index.html;
}
location /other {
proxy_pass http://192.168.10.129/other;
proxy_set_header X-Real-IP $remote_addr;
}
}

使用nginx stream

tag 代理mysql stream代理ssh tcp反向代理 nginx代理ssh

Module ngx_stream_core_module caojx-git/learn nginx使用stream模块做ssh转发

/etc/nginx/nginx.conf

```conf /etc/nginx/nginx.conf

要注意不要放到http块中,因为这个不是http转发而是tcp层的转发

stream模块使用yum安装的高版本nginx是有的,编译安装的默认可能没有

stream {

#配置upstream是用与负载均衡的,可以不这样配置
upstream cloudsocket {
hash $remote_addr consistent;
# $binary_remote_addr;
server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s;
}
#代理mysql
server {
listen 3306;#数据库服务器监听端口
proxy_connect_timeout 10s;
proxy_timeout 5m; #这个属性的含义不太清楚,和mysql的连接时间应该似乎有关系,时间太短似乎会导致mysql的连接被中断
#负载均衡配置方法
#proxy_pass cloudsocket;
# 简单配置方法
proxy_pass 10.69.65.96:3306;
}
#代理ssh
server {
listen 80;
proxy_pass ssh;
proxy_connect_timeout 1h;
proxy_timeout 1h;
}

}

## nginx 重定向 rewrite
[http重定向301/302/303/307](https://blog.csdn.net/reliveit/article/details/50776984)
[Nginx URL重写(rewrite)配置及信息详解](https://www.cnblogs.com/czlun/articles/7010604.html)
```conf /etc/nginx/nginx.conf
server {
listen 80;
server_name abc.com;
#显式url跳转 永久重定向
#rewrite ^/(.*)$ http://www.abc.com/$1 permanent;
# 显式url跳转,临时重定向
rewrite ^/(.*)$ https://rizon.top/tool/ last;
}

语法说明 rewrite regex replacement [flag]; 关键字 正则 替代内容 flag标记

正则:perl兼容正则表达式语句进行规则匹配 替代内容:将正则匹配的内容替换成replacement flag标记:rewrite支持的flag标记

flag标记说明: last #本条规则匹配完成后,继续向下匹配新的location URI规则 break #本条规则匹配完成即终止,不再匹配后面的任何规则 redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址 permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址