nginx证书绑定及二级域名反向代理

本文详细介绍了如何在Nginx上配置SSL证书绑定和两个不同二级域名的反向代理,包括证书管理、SSL参数设置以及多域名代理配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        两个需求,一是nginx绑定证书并反向代理http服务;二是二级域名的反向代理

        一、nginx绑定证书并反向代理:

        首先需要nginx服务器及证书,证书包括.pem证书文件和.key证书密钥,证书及密钥需要上传至nginx服务器中。

        nginx.conf文件配置:

server {
	listen       443 ssl;
	server_name  a.xxx.com; # 证书绑定的域名
	ssl on;   #设置为on启用SSL功能,如果是nginx1.5以前的版本就需要加上ssl on,如是nginx1.5以后的版本就不需要加。

	ssl_certificate      server.pem;   #将server.pem替换成证书的文件名
	ssl_certificate_key  server.key;   #将server.key替换成证书的密钥文件名

	ssl_session_cache    shared:SSL:1m;
	ssl_session_timeout  5m;
	ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#使用该协议进行配置
	ssl_ciphers  ECDHE-RSA-AES128-GCM-    
    SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件
	ssl_prefer_server_ciphers  on;

	location / {
	    proxy_pass   http://1.1.1.1:8081/; #需要代理的内网服务器地址
	}
}

        验证:

        内网nginx及域名访问均已绑定好证书。

        二、不同二级域名nginx反向代理

        需求如下图:所有域名均解析至nginx中,通过nginx做不同二级域名的反向代理。

        具体配置如下(使用http作为演示):

        

#### APP1 ####

server {
    listen       80;
    server_name  1.xxx.com;

    location / {
		proxy_pass   http://1.1.1.1:8081;
    }

#### APP2 ####

server {
    listen       80;
    server_name  2.xxx.com;

    location / {
		proxy_pass   http://1.1.1.2:8082;
    }

#### APP3 ####

server {
    listen       80;
    server_name  3.xxx.com;

    location / {
		proxy_pass   http://1.1.1.3:8083;
    }

参考资源链接:[Nginx配置详解:二级域名反向代理与多站点绑定](https://wenku.csdn.net/doc/6401ad12cce7214c316ee2d6?utm_source=wenku_answer2doc_content) 要在Nginx中实现多个二级域名反向代理绑定,同时确保域名正确解析到公网服务器的指定端口,首先需要正确配置DNS解析。通常情况下,需要为主域名创建A记录,将其指向服务器的公网IP地址。如果要解析多个二级域名,可以为每个子域名创建独立的A记录,或者使用通配符记录将所有子域名指向同一服务器。在服务器上,需要编辑Nginx的配置文件来设置反向代理,具体步骤如下:(步骤、代码、mermaid流程图、扩展内容,此处略) 示例配置代码可能如下所示: ``` server { listen 80; server_***; location / { proxy_pass *** * 其他配置项... } } server { listen 80; server_***; location / { proxy_pass *** * 其他配置项... } } ``` 在此配置中,我们为两个不同的二级域名设置了反向代理,并监听了同一个端口80。注意,每个server块都使用了不同的server_name指令来指定域名,并且proxy_pass指令将请求代理到不同的本地端口。 在进行配置更改后,记得使用nginx的命令行工具重新加载配置文件以使更改生效,例如使用命令`nginx -s reload`。这将确保Nginx使用新的配置文件重新加载服务。 如果你希望获得更深入的了解和详细的配置案例,可以参考《Nginx配置详解:二级域名反向代理与多站点绑定》这本书。书中不仅详尽介绍了配置的每个细节,还包含了实际案例分析和问题排查技巧,是学习Nginx配置不可或缺的资源。 参考资源链接:[Nginx配置详解:二级域名反向代理与多站点绑定](https://wenku.csdn.net/doc/6401ad12cce7214c316ee2d6?utm_source=wenku_answer2doc_content)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值