JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx配置HTTPS

wys521 2024-09-08 23:01:11 精选教程 48 ℃ 0 评论

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上的同一台机器。

本文版权归是三僡然所有,转载请标明出处。欢迎转载,欢迎评论,欢迎分享。如果你有文章想分享可以联系我。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表