
目录
这里列举几个目前我比较常用的配置(持续更新):
- HTTPS证书配置
- 301重定向
- 端口转发
注:修改配置后一定记得重启Nginx服务!!
systemctl restart nginx.serviceHTTPS证书配置
- 上传证书到 nginx.conf所在目录下。(这里我建了个叫ssl的文件夹)
- 修改 - nginx.conf配置文件:- server_name中填写证书所绑定的域名;
- ssl_certificate和- ssl_certificate_key中填写证书所在的相对路径。
 
server {
    listen 443 ssl;
    server_name  nek0peko.com;
    ssl_certificate      ssl/nek0peko.com_bundle.pem;
    ssl_certificate_key  ssl/nek0peko.com.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    ...
}301重定向
- server_name中填写要重定向的域名,域名间用空格隔开。
- $scheme用于继承用户访问时使用的协议类型,也可以手动指定http或https协议。
- $request_uri继承用户的访问路径,也可以去掉这部分,将所有来自该域名的访问都重定向到特定地址。
server {
    listen 80;
    server_name www.nek0peko.com mc.nek0peko.com;
    return 301 $scheme://nek0peko.com$request_uri;
}- 如果需要使用 HTTPS协议,参照上面的 HTTP证书配置 修改监听端口和添加ssl相关配置即可。
server {
    listen 443 ssl;
    server_name www.nek0peko.com;
    ssl_certificate      ssl/nek0peko.com_bundle.pem;
    ssl_certificate_key  ssl/nek0peko.com.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    return 301 $scheme://nek0peko.com$request_uri;
}端口转发
当我们部署各项服务时,由于各端口仅能被一个服务使用,但我们又不希望在每次访问的时候都加上端口号,
于是我们可以通过Nginx根据用户访问的域名将其转发到不同服务的端口。  
这里举一个最简单的例子:在 server_name 中填写域名,在 proxy_pass 中填写需要转发到的地址后,我们便可以通过访问 server_name 中域名以访问指定地址所部署的服务。
server {
    listen 80;
    server_name image.nek0peko.com;
    location / {
        proxy_redirect off;
        proxy_pass         http://localhost:xxxx/.../images/;
        proxy_set_header   Host $http_host;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-NginX-Proxy true;
        proxy_set_header   X-Real-IP $remote_addr;
    }
}文章标题:Nginx
文章作者:nek0peko
文章链接:https://nek0peko.com/index.php/archives/3/
商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,未经站长允许不得对文章文字内容进行修改演绎。
本文采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
                
棒棒!