nginx下https和http共存怎么配置的

2020-11-29 14:17:54 字数 4038 阅读 7750

1楼:

服务器配置ssl证书的时候,不要设置http跳转https就可以了。

nginx安装ssl证书:-

nginx 同时支持https和http

2楼:匿名用户

不能,具体nginx同时支持https和http配置如下:

server

nginx怎么配置ssl可以即允许http访问也允许https访问

3楼:匿名用户

同时开启80端口和443端口,http和https都可以访问,你可以通过设置301重定向来使http自动跳转到https,用户输入http也可以访问到**。参考nginx配置ssl证书教程https://****

wosign.***/docdownload/index.htm

4楼:匿名用户

nginx环境配置中,不配置301跳转就可以了。

5楼:匿名用户

由于自己生成的证书不受浏览器信任,所以需要到第三方ssl证书提供商处购买,在购买ssl证书时,需要提供一个自己的web服务器生成的csr密码。

生成csr的步骤:

①:生成rsa密钥:

[plain] view plain copy

$openssl genrsa -out privkey.pem 2048

注意,有的证书是要 1024 的,所以得:

[plain] view plain copy

openssl genrsa -out privkey.pem 1024

②:生成csr证书:

[plain] view plain copy

openssl req -new -key privkey.pem -out cert.csr

会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的,比如 [email protected] 并且能接受邮件,因为ssl证书提供商会发送验证邮件和证书文件压缩包到这个邮箱。

这样就有一个 csr 文件了,直接vi ./cert.csr 查看证书的内容,是一串字符串,如下:

[plain] view plain copy

-----begin certificate request-----

bfrujna=

-----end certificate request-----

直接复制上面的字符串提交给ssl证书提供商,提供商处理后会发送ssl相关证书到[email protected]邮箱,如下:

把所有文件全部上传到一个特定的目录,比如我是上传到 /usr/local/nginx/conf。

这里,zoulukey.pem 和 zoulucert.csr 是自己原来在web服务器生成的,剩下的都是证书签发机构颁发的。

一般情况下,直接用证书签发机构颁发的 crt 文件即可,比如 zou_lu.crt ,但是有很多证书签发机构默认在 firefox 中文版下是不会信任的,经过仔细研究,终于发现,原来得把证书签发机构给你的 crt 文件也放入才行,这时需要合并 positivesslca.crt (证书签发机构的 crt)和zou_lu.

crt (自己域名的 crt),方法如下:

[plain] view plain copy

cat zou_lu.crt >> positivesslca.crt

mv positivesslca.crt zou_lu.crt

或者直接用记事本打开,然后复制 positivesslca.crt 里面所有的内容到 zou_lu.crt 最下方即可。

上传证书完成后,需要修改nginx的配置,因为并不需要整站https访问,所以需要http和https访问共存,如下:

[plain] view plain copy

server

配置完成,现在试着用http和https访问同一个链接,应该都可以访问了。

nginx 如何同时配置https和wss

6楼:贼猫

nginx同时配置https和wss**如下:

server

location /ws

}websocket协议的握手和http是兼容的,它使用http的upgrade协议头将连接从http连接升级到websocket连接。这个特性使得websocket应用程序可以很容易地应用到现有的基础设施。就可以使用https//+域名访问和使用wss:

//+域名+/ws访问了

7楼:匿名用户

websocket wc问题:首先你确认一下你的swoole是否启用了openssl,是否在编译时加入了--enable-openssl的支持。

其余尝试:上面的原因就是因为你开启了 ssl 之后,那么wss连接的时候就必须是你创建 ssl 时签证的域名才可以(wss://127.

0.0.1:

8080 是不行的), 应该是 wss://test.***:

8080 才可以。

具体:https://****gw***.***/ssl/308.html

例如:javascript

var websocket = new windows.***working.sockets.messagewebsocket();

websocket.connectasync("wss://****example.***").done(function() , function(e) );

——————————————————————————

8楼:匿名用户

下面是我的一个配置示例,你可以参考一下:

server

proxy_passhttp://127.0.0.1:$arg_port;

proxy_http_version1.1;

proxy_set_headerx-client-ip$remote_addr;

proxy_set_headerupgrade$http_upgrade;

proxy_set_headerconnection"upgrade";

proxy_read_timeout300s;

}location/chatroom

location/chatrobot

}服务器内部起了2个websocket服务,分别监听8100、8101端口

nginx根据访问不同的location,选择**到那个ws服务商

/websocket/是个内部location,直接访问会报错

nginx如何同时配置https和wss?

9楼:贼猫

nginx同时配置https和wss**如下:

server

location /ws

}websocket协议的握手和http是兼容的,它使用http的upgrade协议头将连接从http连接升级到websocket连接。这个特性使得websocket应用程序可以很容易地应用到现有的基础设施。就可以使用https//+域名访问和使用wss:

//+域名+/ws访问了

nginx 怎么配置一个用https 一个用http

10楼:匿名用户

查看ngixn ssl证书配置指南,配置ssl证书后,开启80端口和443端口,那么http和https 都是可以访问的。

nginx怎么配置http和https

11楼:匿名用户

server

nginx接受https请求,与后端无关.

nginx怎么配置ssl可以即允许http访问也允许https访问

12楼:匿名用户

nginx环境下配置http和https可同时访问方法网页链接

13楼:匿名用户

把http跳转到https 301跳转配置**删除就可以了。

怎么通过http访问https,如何将访问http 的强制访问https

1楼 匿名用户 1 首先您要准备好正规的https证书,这个方面 有几十块就可以搞定。 2 准备一个独立域名,并且是可以解析的。 3 需要独立服务器或云服务器支持ssl证书的产品。 4 以上全部准备好联系https证书提供商按照教程安装就可以了。 如何将访问http 的强制访问https 2楼 匿名...

怎样把HTTP页面下的链接全部替换成https

1楼 匿名用户 https是 对信息传输采取了加密措施, 而http是未加密的,易于被人利用 https 还有http,那不是想设置就设置的 如何快速将网页中全部的http外链改成https 2楼 光网 使用txt文档查看 源码,查找所有http替换成https就可以了,很多自助的cms系统加了ht...

centos下怎么找到apache的配置文件

1楼 匿名用户 httpd v 查看输出的httpd root和server config file 就可以确定httpd conf的路径了 2楼 出门在外 find name httpd conf centos怎么查看apache安装在 3楼 匿名用户 在centos下apache的安装方式无非两...