在DigitalOcean中为我的web应用安装HTTPS`https://XXX.XXX.XXX.XXX`没关系,但不适合`https://XXX.XXX.XXX.XXX:1234`

在DigitalOcean中为我的web应用安装HTTPS`https://XXX.XXX.XXX.XXX`没关系,但不适合`https://XXX.XXX.XXX.XXX:1234`,https,ssl-certificate,digital-ocean,self-signed,Https,Ssl Certificate,Digital Ocean,Self Signed,我学习了这些教程 ,没有步骤5 ,没有“(建议)修改未加密的虚拟主机文件以重定向到HTTPS”部分 我用http://XXX.XXX.XXX.XXX:1234 我现在拥有的 http://XXX.XXX.XXX.XXX:1234转到我的web应用程序。我需要SSL来访问网络摄像头 https://XXX.XXX.XXX.XXX在警告后进入Apache默认屏幕,这是预期的 https://XXX.XXX.XXX.XXX:1234转到的Chrome错误页此站点无法提供安全连接 我需要访问ht

我学习了这些教程

  • ,没有步骤5
  • ,没有“(建议)修改未加密的虚拟主机文件以重定向到HTTPS”部分
  • 我用
    http://XXX.XXX.XXX.XXX:1234
我现在拥有的

  • http://XXX.XXX.XXX.XXX:1234
    转到我的web应用程序。我需要SSL来访问网络摄像头
  • https://XXX.XXX.XXX.XXX
    在警告后进入Apache默认屏幕,这是预期的
  • https://XXX.XXX.XXX.XXX:1234
    转到
    的Chrome错误页此站点无法提供安全连接
我需要访问
https://XXX.XXX.XXX.XXX:1234
出了什么问题,我该怎么办

编辑,了解更多详细信息

  • 将SSH连接到droplet中进行全新安装(Ubuntu LTS 16.04)
  • sshroot@xxx:xxx:xxx:xxx
  • adduser notalentgeek
  • usermod-aG sudo notalentgeek
  • sunotalentgeek
  • 现在我在新创建的用户
    notalentgeek
  • 进入“如何在Ubuntu 16.04中为Apache创建自签名SSL证书”教程
  • sudo openssl req-x509-nodes-days 365-newkey rsa:2048-keyout/etc/ssl/private/apache-selfsigned.key-out/etc/ssl/certs/apache selfsigned.crt
  • 在形式上,我把所有的东西都称为“asd”(我头脑中任意的东西,就是这些东西)。除了“公共名称(例如服务器FQDN或您的名称)[]:”是指ip的
    xxx:xxx:xxx
  • sudo openssl dhparam-out/etc/ssl/certs/dhparam.pem 2048
    并等待一会儿
  • sudo nano/etc/apache2/conf可用/ssl params.conf
  • 复制粘贴教程中的设置(StackOverflow代码格式在这里不起作用!

    从…起 及 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All-SSLv2-SSLv3 SSLHonorCipherOrder开启

    暂时禁用预加载HST。您可以使用注释掉的标题行,其中包括 “预加载”指令,如果您理解其含义。 标头始终设置严格的传输安全性“最大年龄=63072000;包括子域;预加载” 标头始终设置严格的传输安全性“最大年龄=63072000;包括子域” 标题始终设置X帧选项拒绝 标题始终设置X-Content-Type-Options nosniff

    需要Apache>=2.4 SSL压缩关闭 SSLSE:退票 SSLUS建立在 SSLStaplingCache“shmcb:日志/装订缓存(150000)”

    SSLOpenSSLConfCmd DHParameters“/etc/ssl/certs/dhparam.pem”

  • sudo cp/etc/apache2/sites available/default-ssl.conf/etc/apache2/sites available/default ssl.conf.bak
    创建备份

  • sudo nano/etc/apache2/sites available/default ssl.conf

    服务器管理员asd@asd.com 服务器名xxx:xxx:xxx:xxx

                DocumentRoot /var/www/html
    
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
    
                SSLEngine on
    
                SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
    
                BrowserMatch "MSIE [2-6]" \
                               nokeepalive ssl-unclean-shutdown \
                               downgrade-1.0 force-response-1.0
    
        </VirtualHost>
    
    DocumentRoot/var/www/html
    ErrorLog${APACHE_LOG_DIR}/error.LOG
    CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
    斯伦金安
    SSLCertificateFile/etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile/etc/ssl/private/apache-selfsigned.key
    发展+标准
    发展+标准
    浏览器匹配“MSIE[2-6]”\
    nokeepalive ssl不干净关闭\
    降级-1.0力响应-1.0
    

  • sudo ufw应用程序列表
    ,调整防火墙。我只是把他们写的代码放在那里

  • sudo ufw状态
  • sudo ufw允许“Apache Full”
  • sudo ufw delete允许“Apache”
  • sudo ufw状态
  • sudo a2enmod ssl
  • sudo a2enmod头文件
  • sudoa2ensite默认ssl
  • sudo a2enconf ssl参数
  • sudo apache2ctl configtest
    ,在我的案例中没有出现任何警告。但是,在教程中,它可能有警告。此命令返回,
    语法正常
  • 正如我前面提到的,测试服务器,
    https://xxx.xxx.xxx.xxx
    有效,但
    https://xxx.xxx.xxx.xxx:5000
    没有(5000是我的烧瓶端口)
  • sudo nano/etc/apache2/sites available/000 default.conf
  • 添加
    重定向永久“/”https://xxx.xxx.xxx.xxx:5000/“
  • sudo apache2ctl configtest
    结果是
    语法正常
  • sudo systemctl重启apache2
  • 这是我的烧瓶应用程序的启动
WebSocket传输不可用。安装eventlet或gevent和gevent websocket以提高性能。 *正在运行(按CTRL+C退出)

  • 转到
    http://xxx.xxx.xxx.xxx:5000/
    ,其中
    xxx.xxx.xxx.xxx
    是DigitalOcean Droplet的IP,请成功访问我的web应用程序。但web应用程序需要访问网络摄像头和麦克风
  • 以下是其他教程
  • sudo apt get install libapache2 mod wsgi python dev
  • sudo a2enmod wsgi
  • cd/var/www
  • sudo mkdir FlaskApp
  • cd-FlaskApp
  • git克隆https://github.com/notalentgeek/my_app --深度1
  • cd我的应用程序
  • 安装,
    pip3
    virtualenv
    。从
    http
    运行仍然很好
  • sudo nano/etc/apache2/sites available/FlaskApp.conf
    (格式化也不起作用!)