• 在Linux上部署DotNet Core项目的时候发现Apache无法转发Kestrel的5000端口的问题


    CentOS服务器上使用Apache托管Dotnet Core2,服务启动了,端口也打开了。在本地使用curl命令可以访问5000端口的网页内容,但是访问Apache的端口却无法获取到网页的内容。想起了之前一直踩过的坑---SE Linux。

    1、首先说解决办法,运行如下命令即可:

    sudo setsebool -P httpd_can_network_connect on
    

    究其原因,这是因为SELinux(Security-Enhanced Linux)进行了访问控制的缘故。查看SELinux的文档,打开httpd_can_network_connect即可。

    2、如果碰到数据库无法连接的,运行如下命令则可解决:

    sudo setsebool -P httpd_can_network_connect_db on
    

    3、如果是非生产环境,可以考虑直接关掉SELinux:

    //把SELINUX设置为disabled即可
    vi /etc/sysconfig/selinux
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    #SELINUX=enforcing
    #把设置改为disabled
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    

      

      

  • 相关阅读:
    软件工程课件
    团队博客作业Week1
    IntelliJ IDEA下Git的配置与使用(命令行下)
    Java语言程序设计课程学期总结
    JDBC访问数据库的一些小技巧
    Conference-Web Search and Data Mining
    线程停止与volatile
    班会-2016-2017第2学期
    Java第11次实验(JDBC数据库编程)
    Python-Jupyter Notebook使用技巧
  • 原文地址:https://www.cnblogs.com/jerryqi/p/9714659.html
Copyright © 2020-2023  润新知