Nginx实现根据域名http、https分发配置示例
2014年10月10日 - 如果提示“SSL 接收到一个超出最大准许长度的记录。” 错误代码“ssl_error_rx_record_too_long”说明少了“ssl on;”这一行. 后面的server.crt server.key是数字证书,具体可以参照openssl做证书
server {
listen 443;
server_name mail.huozhe.com;ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;location / {
proxy_pass https://192.168.0.2:443;
proxy_set_header Host $host:443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
server {
listen 80;
server_name svn.huozhe.com;location / {
proxy_pass https://192.168.0.2:443;
proxy_set_header Host $host:443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via “nginx”;
proxy_set_header X-Forwarded-Proto https; #注意看这里 多了一行
}
}
分享到:
相关推荐
1. **生成证书**:首先,你需要一个SSL证书来证明你的服务器身份。你可以购买一个由权威证书颁发机构(CA)签署的证书,或者自签名一个证书。对于测试环境,自签名证书就足够了。可以使用`keytool`命令行工具,它是...
OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 这个错误是因为网络太慢,下载virtualbox.box失败,可以换个网络再试一下。 如果网络实在太慢的话,可以试试下面的方法,我们可以手动下载virtualb
解决 Tomcat 配置 SSL 错误的解决办法 在 Tomcat 服务器中配置 SSL 加密连接是非常重要的,然而在 Tomcat 6.0.33 版本中,默认启用了 APR(APR 是通过 JNI 访问的可移植库,可以提高 Tomcat 的性能和伸缩性),这...
SSL_load_error_strings 函数用于加载 SSL 错误字符串,用于错误处理和调试。SSLeay_add_ssl_algorithms 函数用于添加 SSL 算法,用于实现 SSL 加密和解密。SSL23_server_method 函数用于实现服务器端的 SSL 连接,...
NGX_STREAM_SSL_PREREAD_MODULE 是一个基于流媒体(Stream)实现的 SSL/TLS 协议 ClientHello 消息提取模块,主要用于提取 SNI(Server Name Indicate)或者 ALPN(Application Layer Protocol Negotiation,应用层...
标题中的“c_examples.rar_SSL_connect_The_Client_ssl_ssl_server”暗示了这是一个关于使用C语言实现SSL连接客户端与服务器的示例代码集。SSL(Secure Sockets Layer)是网络安全通信的一种标准协议,它提供了数据...
通过`SSL_new(SSL_CTX*)`函数创建SSL对象,它代表一个实际的SSL连接。 9. **将SSL对象绑定到TCP套接字**: 使用`SSL_set_fd(SSL*, int)`将SSL对象与已经建立的TCP套接字关联。 10. **执行SSL握手**: 调用`SSL_...
5. **将SOCKET与SSL上下文关联**:使用`SSL_CTX_new()`创建的SSL上下文,通过`SSL_new()`创建一个SSL对象,并用`SSL_set_fd()`将SOCKET描述符绑定到SSL对象。 6. **SSL握手**:执行SSL/TLS的握手过程,这包括证书...
1. **初始化OpenSSL**:在程序启动时,需要调用`SSL_library_init`和`SSL_load_error_strings`函数初始化OpenSSL库,并加载错误字符串,以便于后续的错误处理。 2. **创建SSL_CTX对象**:`SSL_CTX`是SSL上下文对象...
1. 初始化OpenSSL库:在程序启动时调用`SSL_library_init()`和`SSL_load_error_strings()`。 2. 创建SSL上下文:使用`SSL_CTX_new()`创建一个服务器端的SSL上下文,并指定SSL版本和密码策略。 3. 加载证书和私钥:...
这个错误通常表示Python无法找到SSL模块,该模块是Python标准库的一部分,用于处理安全套接层(SSL)和传输层安全(TLS)协议,常用于网络通信中的加密传输。SSL模块依赖于系统级别的openssl库,因此当系统缺少对应...
为了解决这个问题,Python社区推出了`backports.ssl_match_hostname`库,这是一个用于后向兼容的模块,提供了与Python 3.4及更高版本相同的功能,以确保主机名与SSL证书匹配。本文将深入探讨这个模块以及它在Tornado...
以下是一个简单的示例代码片段: ```delphi uses ElSSLOpenSSL, ElHTTPClient; var HTTPClient: TElHTTPClient; SSLContext: TElSSLContext; begin // 创建SSL上下文 SSLContext := TElSSLContext.Create(nil...
SSL客户端(即ssl_client)通常是一个能发起SSL连接的应用程序,比如curl命令或自定义的网络应用。而SSL服务器端(即ssl_server)则需要监听特定端口,接受并响应客户端的SSL连接请求。 在这个压缩包中,"ssl"文件...
最后,文档还包含一个错误码的附录,列举了可能遇到的错误代码及其意义,以及一个术语缩写的附录,解释文档中所使用的专业术语。 综上所述,这份应用指导文档对于理解Quectel BC26和BC20SSL模块的SSL功能至关重要,...
3. `SSL_library_init()` 和 `SSL_load_error_strings()`:初始化SSL库和加载错误信息。 4. `SSL_CTX_new()`:创建新的SSL上下文。 5. `SSL_CTX_use_certificate_file()` 和 `SSL_CTX_use_PrivateKey_file()`:加载...
这里,代码通过`SSL_CTX_new(SSLv23_server_method())`创建了一个新的SSL上下文,这里采用的是SSLv23_server_method()方法,这使得服务器可以和SSLv2、SSLv3以及TLSv1等客户端进行兼容。在SSLv23_server_method()...
在这个“ssl.zip”压缩包中,包含了两个C语言编写的程序,分别是“ssl_client.c”和“ssl_server.c”,它们是用于实现基于OpenSSL库的SSL客户端和服务器端的示例代码。 OpenSSL是一个开源项目,提供了丰富的SSL/TLS...
标题"SSL.rar_JAVA SSL _ssl_ssl java"表明这个压缩包包含的是关于Java中实现SSL/TLS协议的示例代码,可能是服务器端和客户端的简单实现。 描述中提到"SSL加密简单的服务端和客户端书写.希望对大家有所帮助",这...
在IT行业中,安全是至关重要的一个领域,尤其是在网络通信中,SSL(Secure Sockets Layer)和它的升级版TLS(Transport Layer Security)起到了保障数据传输安全的关键作用。Python作为一款广泛使用的编程语言,提供...