Nginx配置HTTPS
Nginx(发音为“Nginx”)是一种高性能的Web服务器。它最初是为处理10K问题而开发的,这意味着可以提供10,000个并发连接。Nginx可以用作独立的Web服务器,也可以作为反向代理商服务于其余Web服务器之前。
当作为反向代理商服务器时,Nginx充任前台Web服务器,将传入的请求传递到后台的Web服务器,不同的端口等。而后Nginx可以解决SSL / HTTPS,GZip,缓存头,负载平衡等方面还有很多其余的东西。后面的Web服务器不需要知道如何解决它。并且 – 您只有一个Web服务器,您需要理解如何配置SSL / HTTPS,GZip等 – 这就是Nginx。我们在tomcat面前使用Nginx。Nginx解决所有SSL / HTTPS内容,而tomcat只支持背面的普通HTTP请求。
Installing Nginx
可以使用apt-get包管理器在Ubuntu上安装Nginx,如下所示:
apt-get install nginx
这应该在你的Ubuntu服务器上安装最新版本的Nginx。
要在其余Linux发行版上安装Nginx,请在Google,Bing等上搜索。您可以轻松找到在所需Linux发行版上安装Nginx所需的命令行。
Starting Nginx
安装Nginx后,您需要启动它。您可以使用此命令执行此操作:
/etc/init.d/nginx start
要验证Nginx能否正在运行,请尝试将浏览器定向到Ubuntu服务器的IP地址(或者域名)。确保已在端口80上打开防火墙。
检查Nginx能否正在运行
检查Nginx能否正在运行的另一种方法是运行此命令:
htop
在命令的输出中,在列表中查找“nginx master process”和“nginx worker process”。假如您在列表中看到这些进程,则Nginx正在运行。
Restarting Nginx
每当您更改Nginx配置文件时,都需要重新启动Nginx。使用以下命令重新启动Nginx。
/etc/init.d/nginx restart
一个Nginx重新启动,新配置将生效。
假如配置文件中有错误,则重新启动Nginx将失败。
restart命令会在它输出的行的末尾写一个小的“OK”或者“Fail”,让你知道重启失败还是成功。假如您有错误,请更正错误,而后重新启动Nginx。而后它应该再次工作。
Nginx 配置文件
Nginx主配置文件位于:
/etc/nginx/nginx.conf
Nginx配置文件可能包含其余配置文件。因而,您可以将配置划分为多个较小的可重用配置文件,这些文件都包含在主Nginx配置文件中。
要配置Nginx,我们必需更改Nginx配置文件。在对其进行更改之前,请备份原始配置文件。这样你即可以随时回到原版,以防你弄乱副本。以下是如何制作原始Nginx配置文件的副本:
cp /etc/nginx/nginx.conf /etc/nginx.conf.orig
文件/etc/nginx.conf.orig现在包含原始Nginx配置文件的副本。
配置文件
这是我原来的Nginx配置文件的样子。在任何地方你都看到了[\ n],这意味着我已经插入了与原版相比的换行符,以便更容易在浏览器中查看文件。#是备注。
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json [\n]
application/x-javascript text/xml [\n]
application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
## See sample authentication script at:
## http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
## auth_http localhost/auth.php;
## pop3_capabilities "TOP" "USER";
## imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#server {
#listen localhost:110;
#protocol pop3;
#proxy on;
#}
#
#server {
#listen localhost:143;
#protocol imap;
#proxy on;
#}
#}
配置Nginx
配置Nginx是通过配置文件完成的。到底要配置什么取决于你想要Nginx做什么。
使用SSL / HTTPS将Nginx配置为反向代理商
下面是一个示例nginx.conf(Nginx配置文件),它向您展现如何将Nginx配置为反向代理商。同样,[\ n]标记我插入换行符的位置,以便在浏览器中更容易查看文件。删除您自己的此文件版本中的[\ n]和换行符。在文件列表之后,有关配置的更多详细信息。
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json [\n]
application/x-javascript text/xml application/xml [\n]
application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
server {
listen 443;
server_name _;
ssl on;
ssl_certificate certificate-bundle.crt;
ssl_certificate_key private-key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
}
反向代理商的所有配置都发生在server{…}块内。
listen 443行指示Nginx侦听端口443(默认HTTPS端口)。
server_name _指示Nginx所有域名都与此服务器{…}部分匹配。
在线的ssl指示Nginx打开SSL / HTTPS。
ssl_certificate certificate-bundle.crt指向证书文件。证书文件路径是certificate-bundle.crt。此路径可以指向单个证书文件,或者者在我的情况下是证书包。
ssl_certificate_key private-key.pem指向用于生成证书签名请求的原始私钥。Nginx需要此密钥才能与证书建立SSL连接。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;line设置启用了哪些SSL协议。
ocation / {…}部分指示Nginx将所有来自网站虚拟目录结构的请求转发到运行在http://127.0.0.1:8080上的Web服务器,该服务器是端口8080上的同一台机器。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx配置HTTPS