公网IP可以通过指定非443端口实现HTTPS访问。在网络配置中,虽然HTTPS协议默认使用443端口,但没有规定不能在其他端口上实施HTTPS服务。使用非标准端口进行HTTPS通信需要正确配置服务器和SSL证书,并确保客户端能够连接到指定的端口。下面说明如何实现这一过程:
1、选择和安装SSL证书
想要实现https访问的第一步就是安装SSL证书, 需要选择一个支持IP地址证书的CA(证书颁发机构),建议选择JoySSL,它允许用户为公网或内网IP地址签发SSL证书。最主要的是他们在签发证书的时候支持多端口如80、443、22、25等端口进行验证,而且支持免费试用。
首先打开JoySSL的官方网站。注册一个新账号。在注册过程中,最后一栏会要求填写一个注册码以享受特定优惠或服务。可以填写"230915"来获取IP地址证书签发。
将SSL证书和相关的私钥文件配置到服务器中,确保服务器能够使用这些证书进行安全的HTTPS连接。并在服务器上进行安装。 全程可以咨询JoySSL的技术人员来完成这些操作 。
2、修改服务器配置文件(以Nginx举例)
编辑监听端口:在Nginx配置文件中,设置一个新的监听端口,例如listen 8090 ssl;,其中8090是自定义的SSL端口号。这一步是在Nginx服务器块配置中进行的。
指定证书路径:在相同的服务器块配置中指定SSL证书和密钥的绝对路径,确保路径正确无误。这通常包括ssl_certificate和ssl_certificate_key指令。
server {
listen 8090; # 指定HTTPS监听的非标准端口
server_name your_ip; # your_ip修改为证书绑定的公网IP
ssl on; #设置为 on 启用 SSL 功能。
ssl_certificate cert/your_ip.pem; # SSL证书路径,将your_ip.pem 替换成证书的文件名。
ssl_certificate_key cert/your_ip.key; # 私钥路径,将your_ip.key 替换成证书的密钥文件名。
其他配置,如根目录、索引文件、错误日志等
}
3、防火墙设置:
确保服务器防火墙以及任何网络级防火墙允许入站流量到达配置的HTTPS非标准端口。
4、客户端访问:
客户端访问时需在URL中包含指定的端口号,例如:https://your_public_ip:8090。
通过上述步骤,可以实现在公网IP的非443端口上启用HTTPS访问。这不仅提供了更大的灵活性,还能在特定情况下避免某些限制,如未备案服务器无法使用常规HTTPS端口、443端口被占用,运营商无法开发443端口等问题。